2011-08-30 51 views
1

我收到以下错误,同时试图做的逐一排序字符串的错误,而这样做的逐一排序一句话

错误信息:“数不能小于零参数名:算”

List<string> words = new List<string>(); 
     words.Add("collin"); 

     foreach (var word in words) 
     { 
      IEnumerable<string> sortedSubstrings = 
          Enumerable.Range(0, word.Trim().Length) 
           .Select(i => word.Substring(i)) 
           .OrderBy(s => s.Length < 1 ? s : s.Remove(1, Math.Min(s.Length - 3, 3))); 

     } 

我想通过在辞书排序过程

我在做什么错跳过第二,第三和第四个字符,以提高这种?

回答

1

尝试使你的.OrderBy线手柄长度小于3,让他们0这就是你的例外是从。

.OrderBy(s => s.Length < 1 ? s : s.Remove(1, Math.Min(Math.Max(0,s.Length - 3), 3))); 
+0

你是ledgend! – Fraiser

相关问题