2011-09-12 13 views
1

新しく作成された列を別の新しい列への参照として使用する場合、LINQで可能かどうか質問したいと思いますか?データセットの表現とまったく同じですか?LINQ列への参照としての新しい列

Ex。

var t = (from t1 in ds.table 
     select new { 
      c1 = t1.col1 + 1, 
      c2 = c1 + 2 // is it possible? 
     }; 

おかげ

答えて

3

いいえ、あなたはそれを行うことはできません。しかし、あなたは次のように書くことができます:

var t = from t1 in ds.table 
     let c1 = t1.col1 + 1 
     select new { 
      c1, 
      c2 = c1 + 2 
     }; 
+0

彼の例はなぜ機能しませんか?最初の列も参照しています。あなたのコードは彼とどのように違うのですか? –

+0

@ハサン:私の例の 'c2'の式は、それが作成している匿名型の' c1'プロパティではなく、余分な範囲変数 'c1'を参照しています。 –

+0

ああ私はそれに気づいた。説明をありがとう。 –

関連する問題