C#列表<;MyClass>;应该从MyClass返回一个属性
MyClass.csC#列表<;MyClass>;应该从MyClass返回一个属性,c#,list,attributes,C#,List,Attributes,MyClass.cs public class MyClass { private string name; public string Name { get { return name; } set { name = value; } } private string path; public string Path {
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
List myClasses=new List();
返回myClasses[“Name”]// 您可以使用Linq仅返回名称,但现在将有一个列表
:
或者,您可以从原始文件中创建一个新的MyClass
列表,并且只填充名称attibute:
return myClasses.Select(x => new MyClass {Name = x.Name}).ToList();
您可以使用Linq仅返回名称,但现在将有一个列表
:
或者,您可以从原始文件中创建一个新的MyClass
列表,并且只填充名称attibute:
return myClasses.Select(x => new MyClass {Name = x.Name}).ToList();
如果您只需要一个名称列表,那么其他人提到的.Select(x=>x.Name)
是最好的
但是,如果要返回仅具有Name属性的对象,可以使用接口
public interface IName
{
string Name { get; set; }
}
然后让MyClass实现接口
public class MyClass: IName
{
//...snip
}
return myClasses.Cast<IName>();
然后可以返回接口的列表
public class MyClass: IName
{
//...snip
}
return myClasses.Cast<IName>();
返回myClasses.Cast();
如果您只需要一个名称列表,那么其他人提到的.Select(x=>x.Name)
是最好的
但是,如果要返回仅具有Name属性的对象,可以使用接口
public interface IName
{
string Name { get; set; }
}
然后让MyClass实现接口
public class MyClass: IName
{
//...snip
}
return myClasses.Cast<IName>();
然后可以返回接口的列表
public class MyClass: IName
{
//...snip
}
return myClasses.Cast<IName>();
返回myClasses.Cast();
公共类myList:列表
{
公共MyClass此[string SearchedName]
{
得到
{
返回此.SingleOrDefault(mc=>mc.Name==SearchedName);
}
}
}
公共类myList:列表
{
公共MyClass此[string SearchedName]
{
得到
{
返回此.SingleOrDefault(mc=>mc.Name==SearchedName);
}
}
}
要返回名称列表吗?要返回一个字符串序列(每个字符串代表一个名称)还是一个带有路径的MyClass序列
以某种方式被“擦除”?一个带有路径“擦除”的MyClass序列,一个字符串(名称)列表你想返回一个名字列表吗?你想返回一个字符串序列(每个字符串代表一个名字)还是一个带有路径的MyClasses
序列以某种方式被“擦除”?一个带有路径“擦除”的MyClasses序列,一个字符串(名字)列表@ssg?如果你想打败Skeet先生,你必须是@ssg-如果你想打败斯基特先生,你必须是!