将ID从List <T>转换为string []

ckv*_*ckv -8 c#

我有一个 List<MyClass>

并被MyClass定义为

class MyClass
{
 public string ID{get; set;};
 public string Name{get; set;};
}
Run Code Online (Sandbox Code Playgroud)

现在我想从我拥有的MyClass对象列表中单独收集所有ID,并将其转换为string [].

怎么做到这一点?

我不熟悉LINQ.这就是我要问的原因.

我不知道该说什么,但是downvotes让我真的看看LINQ和投影,所以感谢分享这些信息.

Ada*_*rth 10

在LINQ中使用投影:

var ids = myClassList.Select(myClass => myClass.ID).ToArray();
Run Code Online (Sandbox Code Playgroud)

using System.Linq;

Select扩展方法让你"工程"型成别的东西(包括匿名类型).使用编译器中的新类型推理机制,您甚至不需要为其指定泛型参数Select.

在这种情况下,Select将返回一个IEnumerable<string>.

ToArray就像在锡上所说的那样,将其IEnumerable<T>转化为一个T[].

对于Linq方法子集, Projection只是一个奇特的术语,工作是由您自己的代码完成的(在上面的例子中,这是lambda表达式:) myClass => myClass.ID.该Select方法需要一个Func<TSource, TResult>,无论你的代码返回什么TResult,在这种情况下,我们返回一个string属性,MyClass所以你得到一个string.