0

我有一个包含 ID(int),Name(String),Salary(decimal) 的列表。列表中已经填充了 90 行。我想验证除整数值之外没有的所有 ID,例如薪水和姓名. LINQ可以吗?我正在使用带有 VS2012 的框架 4.5 任何快速解决方案。

4

2 回答 2

1

我想你想要这样的东西

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)
于 2013-03-17T07:14:25.440 回答
0

我假设你想在这里查看薪水

.Where( x = > x.Salary.Equals( (int) x.Salary)

有点脏,我们将其转换为 int (丢失小数位,然后查看它是否与之前的值相同。

或者

.Where(x => x.Salary.Equals(Math.Round(x.Salary,0))

或者只是使用 Int32.TryParse - 不知道为什么要使用 linq 执行此操作。

于 2013-03-17T07:13:48.183 回答