C#列表<;MyClass>;应该从MyClass返回一个属性

C#列表<;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 {

MyClass.cs

 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-如果你想打败斯基特先生,你必须是!