簡體   English   中英

如何正確划分列表 <string> ?

[英]How to correctly divide List<string>?

我有List<string> {"", "1,5,4", "h", "5,8", "1"} 我需要分為3 List<int> 這是我的代碼:

var parseString = condition.Trim().Split(separator).ToList();
var numberSections = new List<string>();
var numberRow = new List<string>();
var numberCell = new List<string>();
foreach (var str in parseString) {
    if (int.TryParse(str.Substring(0, 1), out i) && numberSections.Count == 0) {
        numberSections.Add(str);
        parseString.Remove(str);
    }
    if (int.TryParse(str.Substring(0, 1), out i) && numberRow.Count == 0) {
        numberRow.Add(str);
        parseString.Remove(str);
    }
    if (int.TryParse(str.Substring(0, 1), out i) && numberCell.Count == 0) {
        numberCell.Add(str);
        parseString.Remove(str);
    }
}

但它不起作用。 我該怎么辦?

這是它的LINQ版本

var result = list.Select(x => x.Split(",".ToCharArray(), 
                               StringSplitOptions.RemoveEmptyEntries)) // now we have List<List<string>>
                .Select(x => x.Select(y =>
                {
                    int value;
                    var isInt = int.TryParse(y, out value);
                    return isInt ? value : (int?)null;
                })) // convert each element of inner list to null or its int values
                    // we have a List<List<int?>>
                .Where(x => x.Any() && x.All(y => y.HasValue)) // only select lists which contains only integers
                .ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM