簡體   English   中英

驗證C#中列表的數據類型? 如果可能的話

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM