C#列表应从MyClass的
问题描述:
MyClass.csC#列表<MyClass>应从MyClass的
public class MyClass
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private string path;
public string Path
{
get { return path; }
set { path= value; }
}
}
返回一个属性当我返回MyClass类型的列表,我想有,只有NAME属性..不整的对象..我如何实现这一目标? 喜欢的东西:
List<MyClass> myClasses = new List<MyClass>();
return myClasses["Name"]; //<--- Only the Name
答
你可以使用Linq只返回名称,但现在你将有一个List<string>
:
return myClasses.Select(x => x.Name).ToList();
另外,您可以从您的原始创建的MyClass
一个新的列表,只填充名称attibute:
return myClasses.Select(x => new MyClass {Name = x.Name}).ToList();
答
如果你只是想名称的列表,然后通过超视距提到.Select(x => x.Name)
ers是最好的。
如果您要返回仅具有Name属性的对象,则可以使用接口。
public interface IName
{
string Name { get; set; }
}
然后让MyClass的实现接口
public class MyClass: IName
{
//...snip
}
然后你就可以返回接口
return myClasses.Cast<IName>();
答
public class myList : List<MyClass>
{
public MyClass this[string SearchedName]
{
get
{
return this.SingleOrDefault(mc => mc.Name == SearchedName);
}
}
}
要返回名称列表
的名单? –
是的,这就是我想要的 – eMi
你想以某种方式返回一个字符串序列(每个代表一个名字)或一个MyClasses'序列与'路径''擦除'? – Ani