C# 如何从具有最低数值的字符串的对象列表中获取属性
假设我有一份人员名单:C# 如何从具有最低数值的字符串的对象列表中获取属性,c#,linq,list,C#,Linq,List,假设我有一份人员名单: Var people = new List<Person>(); 引用字符串是一个数字字符串,因此我的列表中可能有 Var person1 = new Person { ReferenceString = "12" }; Var person2 = new Person { ReferenceString = "11" }; Var person3 = new Person { ReferenceString = "14" }; 我想做的是以某种方式返回
Var people = new List<Person>();
引用字符串是一个数字字符串,因此我的列表中可能有
Var person1 = new Person { ReferenceString = "12" };
Var person2 = new Person { ReferenceString = "11" };
Var person3 = new Person { ReferenceString = "14" };
我想做的是以某种方式返回具有最低数值的引用字符串,在本例中为“11”。
所以我猜它需要被转换成一个int,在这行的某个地方,并且按照如下的方式工作:
people.Where(x => Int32.Parse(x.ReferenceString));
但不确定如何进行比较。您的代码将给出错误,因为ReferenceString
是字符串,您正在为其赋值整数值。
既然您说过您不能更改数据类型,那么您可以这样做
Var person1 = new Person { ReferenceString = "12" };
Var person2 = new Person { ReferenceString = '11" };
Var person3 = new Person { ReferenceString = "14" };
在这种情况下,请使用
var min = people.Min(x => Convert.ToInt32(x.ReferenceString));
如果您想找出哪些PESON具有最小引用字符串,您可以这样做
var result = people.Where(x => x.ReferenceString == min.ToString());
如果它正在存储数字,我会将
ReferenceString
设置为ReferenceInteger
。然后,您可以使用Min方法获取记录。像这样:
var person1 = new Person { ReferenceString = 12 };
var person2 = new Person { ReferenceString = 11 };
var person3 = new Person { ReferenceString = 14 };
var people = new List<Person>();
people.Add(person1);
people.Add(person3);
people.Add(person2);
var returnValues = people.Where(x => x.ReferenceString == people.Min(y => y.ReferenceString));
var person1=newperson{ReferenceString=12};
var person2=新的Person{ReferenceString=11};
var person3=新的Person{ReferenceString=14};
var people=新列表();
添加(person1);
添加(person3);
添加(person2);
var returnValues=people.Where(x=>x.ReferenceString==people.Min(y=>y.ReferenceString));
此处ReferenceString的类型为integer。考虑相应地重命名属性。 您需要将其转换为int值,按该值排序,并取第一个(最低值): 如果只需要最低的值:
int lowest = people.Min(p => int.Parse(p.ReferenceString));
但是你应该首先把它存储为int。
你可以用最小值找到人,而不必对所有的人进行排序,如果你有超过几个人,效率就会很低。Person lowPerson = people.MinBy(p => int.Parse(p.ReferenceString));
无法更改类型什么是
InboundStockTransfers
|SourceHerd.牧群状态索引
。您的问题不完整且令人困惑!我没有更改它的选择。@匿名用户您确定字符串始终只包含整数吗?
int lowest = people.Min(p => int.Parse(p.ReferenceString));
Person lowPerson = people.MinBy(p => int.Parse(p.ReferenceString));