gpt4 book ai didi

C# 语法——用逗号将字符串拆分为数组,转换为通用列表,并反转顺序

转载 作者:IT王子 更新时间:2023-10-29 03:37:57 26 4
gpt4 key购买 nike

正确的语法是什么:

IList<string> names = "Tom,Scott,Bob".Split(',').ToList<string>().Reverse();

我搞砸了什么?TSource 是什么意思?

最佳答案

问题是您正在调用 List<T>.Reverse()返回 void .

你可以这样做:

List<string> names = "Tom,Scott,Bob".Split(',').ToList<string>();
names.Reverse();

或:

IList<string> names = "Tom,Scott,Bob".Split(',').Reverse().ToList<string>();

后者更昂贵,因为要反转任意 IEnumerable<T>涉及缓冲所有数据然后全部产生 - 而 List<T>可以“原地”做所有的倒车。 (这里的区别在于它调用了 Enumerable.Reverse<T>() 扩展方法,而不是 List<T>.Reverse() 实例方法。)

更高效的是,您可以使用:

string[] namesArray = "Tom,Scott,Bob".Split(',');
List<string> namesList = new List<string>(namesArray.Length);
namesList.AddRange(namesArray);
namesList.Reverse();

这避免了创建任何大小不合适的缓冲区 - 代价是在一个会做的地方使用四个语句......一如既往,在实际用例中权衡可读性和性能。

关于C# 语法——用逗号将字符串拆分为数组,转换为通用列表,并反转顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/315358/

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