超全模态模型 × Harness 升级,升级解锁 ArkClaw,最新支持 DeepSeek-V4 系列与 GLM-5.1
你的问题核心在于Subject集合声明为List,导致编译时无法识别元素的score属性,直接调用Sort的比较器或无参Sort都会失效,以下是具体解决方法:方法一:改用强类型集合(推荐) #如果可以修改Student类的定义,把Subject的类型从List<Object>改为具体的实体类型(比如Subject类),这是最安全且高效的方式:先定义Subject实体:public class Subject { public int score { get; set; } // 其他属性... } 修改Student类的Subject属性类型:public class Student { public int StudentID { get; set; } public string StudentName { get; set; } public int Age { get; set; } public string Address { get; set; } public List<Subject> Subject { get; set; } } 此时直接使用Sort方法即可生效:result.Student[i].Subject.Sort((x, y) => x.score.CompareTo(y.score)); 方法二:在现有List基础上处理 #如果无法修改集合类型,可通过以下两种方式解决:方式A:使用LINQ的OrderBy(生成新集合) #先将元素转换为具体类型,再通过OrderBy排序后重新赋值给Subject:// 替换YourSubjectType为实际包含score属性的类型 result.Student[i].Subject = result.Student[i].Subject .Cast<YourSubjectType>() .OrderBy(s => s.score) .ToList(); 方式B:使用dynamic类型进行排序(原地排序) #通过dynamic绕开编译时类型检查,直接访问score属性进行排序:result.Student[i].Subject.Sort((x, y) => ((dynamic)x).score.CompareTo(((dynamic)y).score)); 为什么原写法无效? #无参Sort():Object类型未实现IComparable接口,无法进行默认排序,调用后集合顺序不会改变。带比较器的Sort():编译器无法识别Object类型的score属性,要么编译报错,要么运行时无法正确解析属性,导致排序逻辑不执行。内容的提问来源于stack exchange,提问作者CodeObsession
score
如果可以修改Student类的定义,把Subject的类型从List<Object>改为具体的实体类型(比如Subject类),这是最安全且高效的方式:
List<Object>
Subject
public class Subject { public int score { get; set; } // 其他属性... }
public class Student { public int StudentID { get; set; } public string StudentName { get; set; } public int Age { get; set; } public string Address { get; set; } public List<Subject> Subject { get; set; } }
result.Student[i].Subject.Sort((x, y) => x.score.CompareTo(y.score));
如果无法修改集合类型,可通过以下两种方式解决:
先将元素转换为具体类型,再通过OrderBy排序后重新赋值给Subject:
// 替换YourSubjectType为实际包含score属性的类型 result.Student[i].Subject = result.Student[i].Subject .Cast<YourSubjectType>() .OrderBy(s => s.score) .ToList();
通过dynamic绕开编译时类型检查,直接访问score属性进行排序:
result.Student[i].Subject.Sort((x, y) => ((dynamic)x).score.CompareTo(((dynamic)y).score));
Sort()
IComparable
内容的提问来源于stack exchange,提问作者CodeObsession
超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起
模型再升级,30秒超长叙事, 模态参考扩容
模型自由,工具不限,最新支持 Deepseek-V4 系列、GLM-5.3 系列
超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列
大模型19元起,Al应用9.9元畅享,新人首购爆款尽享优惠