gpt4 book ai didi

c# - 拆分列表的元素并仅从拆分中检索第一部分

转载 作者:太空宇宙 更新时间:2023-11-03 20:59:16 24 4
gpt4 key购买 nike

我有一个 list 说

List<string> someList = new List{"1-30","20-10","21-23","34-80"};

我需要拆分列表,以便获得以下值

 {"1","20","21","34"};

我试过了

 someList
.SelectMany(n => n.Split('-')[0])
.ToList();

但它没有给我想要的结果。

更新:抱歉大家,使用 Select 解决了我的问题。有一天,当你犯下愚蠢的错误时

最佳答案

您必须采取每项的第一部分,您可以在Substring 的帮助下完成(即取项目的值(value)高达 - ):

 List<string> someList = new List{
"1-30", "20-100", "21-23", "34-80"};

var result = someList
.Select(item => item.Substring(0, item.IndexOf('-')))
.ToList(); // if you want a new list

如果您想更改现有列表,只需实现一个循环:

 for (int i = 0; i < someList.Count; ++i)
someList[i] = someList[i].Substring(0, someList[i].IndexOf('-'));

编辑当你输入 SelectMany 时发生了什么而不是 Select .

SelectMany想要 IEnumerable<T>结果自 StringIEnumerable<char>你有一个展平 List<char>小号:

   ['1', '2', '0', '2', '1', '3', '4']

请注意,每个字符串 ( "1", "20", "21", "34") 都被视为字符 (['1']; ['2', '0']; ['2', '1']; ['3', '4']) 的集合

关于c# - 拆分列表的元素并仅从拆分中检索第一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47328512/

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