转换 IList列表<字符串>()

发布于 2024-12-02 14:47:50 字数 117 浏览 2 评论 0原文

我有一个函数需要 IList; someVariable 作为参数。我想将其转换为列表,以便可以按字母顺序对值进行排序。

我该如何实现这一目标?

I have a function that takes IList<string> someVariable as a parameter. I want to convert this to a list so I can sort the values alphabetically.

How do I achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

谁人与我共长歌 2024-12-09 14:47:50

你可以这样做

var list = new List<string>(myIList);
list.Sort();

或者

var list = myIList as List<string>;
if (list != null) list.Sort; // ...

you can just do

var list = new List<string>(myIList);
list.Sort();

or

var list = myIList as List<string>;
if (list != null) list.Sort; // ...
你是年少的欢喜 2024-12-09 14:47:50
IList<string> someVariable = GetIList();
List<string> list = someVariable.OrderBy(x => x).ToList();
IList<string> someVariable = GetIList();
List<string> list = someVariable.OrderBy(x => x).ToList();
静水深流 2024-12-09 14:47:50

IList 实现 IEnumerable。使用 .ToList() 方法。

var newList = myIList.ToList();
newList.Sort();

IList implements IEnumerable. Use the .ToList() method.

var newList = myIList.ToList();
newList.Sort();
撑一把青伞 2024-12-09 14:47:50

您可以使用 linq 对 IList 进行排序,如下所示:

IList<string> foo = .... ; // something
var result = foo.OrderBy(x => x);

You can use linq to sort an IList<string> like so:

IList<string> foo = .... ; // something
var result = foo.OrderBy(x => x);
烟沫凡尘 2024-12-09 14:47:50

您不必转换为列表来对事物进行排序。您的排序方法是否需要 List 但不接受 IList。我认为这才是真正的问题。

此外,如果您确实需要一个列表,如果您的 IList 确实是一个列表(这有点可能),您可以将其解释为这样。所以我会在创建新列表之前首先检查它是否已经是一个列表

var concreteList = parameter as List<T> ?? parameter.ToList();

You don't have to convert to a List to sort things. Does your sorting method require a List but not accept an IList. I would think this is the actual problem.

Furthermore if you really need a List, if your IList realy is a List (which is somewhat likely) you can just interpret it as such. So I would first check if it is already a List before creating a new one

var concreteList = parameter as List<T> ?? parameter.ToList();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文