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 に答える