gpt4 book ai didi

c# - 将分隔的字符串插入List

转载 作者:行者123 更新时间:2023-12-04 13:29:40 28 4
gpt4 key购买 nike

例如,如果我有以下字符串:

“123; 3344; 4334; 12”

我想将这些数字用通用的List<int>编码,我想我除了在循环中拆分并进行转换,然后在每次迭代中添加到List<int>之外,都不知道有什么好方法。有人有其他方法可以解决这个问题吗?

更新。这是我想出的。我想用老式的方式来做,而不是用LINQ来做,因为我试图通过仅字符串,数组,列表以及一般的操作和转换来变得更好。

public List<int> StringToList(string stringToSplit, char splitDelimiter)
{
List<int> list = new List<int>();

if (string.IsNullOrEmpty(stringToSplit))
return list;

string[] values = stringToSplit.Split(splitDelimiter);

if (values.Length <= 1)
return list;

foreach (string s in values)
{
int i;
if (Int32.TryParse(s, out i))
list.Add(i);
}

return list;
}

这是我计划在需要将定界字符串列表转换为List时使用的新字符串实用程序方法

因此,如果发生故障,我将向调用者返回一个空列表。好坏?这样做很常见吗?

是的,使用LINQ可以使用更多“优雅”的方法,但是我想手动进行。.旧的方法只是为了我自己的理解。

另外,令我困扰的是:
list.AddRange(str.Split(';').Select(Int32.Parse));

是我不知道:
  • 如何改为在其中推送TryParse。
  • 如果str.Split(';').Select(Int32.Parse)出于某种原因而失败...那该AddRange所驻留的方法将被炸毁,除非我对整个过程添加try/catch,否则如果不处理它就会被搞砸。适本地。
  • 最佳答案

    string str = "123;3344;4334;12";
    List<int> list = new List<int>();

    foreach (string s in str.Split(';'))
    {
    list.Add( Int32.Parse(s));
    }

    关于c# - 将分隔的字符串插入List <int>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137238/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com