threadgroupsPerGrid
Select Method返回IEnumerable类型,然后返回OrderBy,但抛出错误
“字符串”
类型中不存在任何属性或字段“名称”答案 0 :(得分:0)
您的代码有点不稳定,或者至少是不完整的,所以我无法弄清楚您在此代码段之外的内容。假设你有类似的东西:
class stu
{
private int m_id;
private string m_name;
public int Id { get { return m_id; } set { m_id=value; } }
public string Name { get { return m_name; } set { m_name=value; } }
public stu(int id,string name)
{
m_id=id;
m_name=name;
}
}
在我看来,您的代码甚至无法在多个方面进行编译。这可能是因为我使用的是较旧的Visual Studio。为了编译这个,我改变了第一部分就像这样(你会注意到我混淆了alpha顺序以便让你看到排序实际发生了):
var list = new List<stu>
{
new stu(1,"123"),
new stu(2,"f123"),
new stu(3,"b123"),
new stu(4,"e123"),
new stu(5,"d123"),
new stu(6,"c123"),
new stu(7,"a123"),
};
之后,它会从您的代码中看起来好像您希望返回一个stu列表,但正在返回一个字符串列表。我在这里要做的是先排序列表,然后选择并返回一个排序的字符串列表。
var data = list.OrderBy(s => s.Name).Select(s => s.Name).ToList();
foreach(string str in data) { Console.WriteLine(str); }
如果您真正想要的选择是stu的排序列表,那么您可以像这样进行修改。
var data = list.OrderBy(s => s.Name);
foreach(stu s in data) { Console.WriteLine(s.Name); }
如果我错过了您的意图,请告诉我。