[英]Validate Datatype of a List in C#? If possible by LINQ
我有一個包含ID(int),Name(String),Salary(decimal)的列表。列表中已經填充了90行。我想驗證除整數值以外的所有ID,例如薪水和姓名。 LINQ是否有可能。 我正在對VS2012使用框架4.5的任何快速解決方案。
我想你想要這樣的東西
class MyClass
{
int ID;
string Name;
decimal Salary;
}
...
bool IsValid(MyClass myInstance)
{
int nameInt;
return ((myInstance.Salary % 1) == 0) && // check salary
int.TryParse(myInstance.Name, out nameInt); // check name
}
...
// verify that all items in list are valid
List<MyClass> myList = ...
bool listValid = myList.All(IsValid)
我假設你想在這里查看薪水
其中(x => x.Salary.Equals((int)x.Salary)
有點臟,我們將其強制轉換為int(丟失小數位,然后查看其是否與先前的值相同。
要么
在哪里(x => x.Salary.Equals(Math.Round(x.Salary,0))
或者只使用Int32.TryParse-不知道為什么要用linq做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.