私は単純な問題を抱えていますが、ここやMSDNのサンプルを理解できていません。 (私はまだC#とすべてのデータセット関数の新機能です)。datarow []内の列の最大値を見つける方法?
私は、その列が "建物"、 "アパート"、 "部屋"のデータテーブル "tblRoom"を持っています。それらはすべてintとテーブルのプライマリキーです(弱いエンティティです他のプロパティ/列なし)。
私もこのコードの建物の中に、特定のアパートを選択DataRow[] roomCollection
を持っている:
roomCollection = dbDataSet.tblRoom.Select("building ='"+ b_int +
"' and apartment='"+ a_int + "'");
このすべてが正常に動作(私は推測します...)。 今、このアパートからの部屋の最大値(このアパートメントの最大の部屋番号)を取得したいと思います。 私は無駄にこれらのコードを試してみた:
DataRow dr = roomCollection.Max();
int maxi = roomCollection.Max();
私はちょうど私が機能して書くこととしていますどのようなツールチップから得ることはありません。 IEnumerableまたはIcomparableのいずれにも例外をスローします。
部屋の列に最大値(int)を得るには何が必要ですか?私がMax()
に書き込むと思われるもののエラー/ツールチップの意味を理解していないので、誰でも "ダミーのためのもの"を知っている人はそれを馬鹿に説明します。
EDIT: ツールチップは、これらの(示さrelevants)を入力することをお勧め:
(this IEnumerable <DataRow> source):DataRow
(this IEnumerable <DataRow> source, Func<DataRow,int?> selector):int?
(this IEnumerable <DataRow> source, Func<DataRow,int> selector):int
私は本当にそれを取得しないでください:(先行
おかげで、 シェイこの中
ああ、それは動作します!本当にありがとう。私は2つの少し質問があります: 1.その構文はLINQですか? 2.それはどういう意味ですか? var "r"は["room"]から(キャストint)ですか? この知識を他の問題にどのように渡すのか本当に分かりません。なぜrが=の左のオペランドで、その右側が列名の近くにあるのですか? –
シンタックスはdelegateを持つlinqです... rはデリゲートの最初のパラメータで、DataRow型(DataRowCollectionのrommCollectionから来ているため)で、after =>はMaxによって使用された値を表すデリゲートの本体です拡張メソッドを評価する... – Yahia