enter code here
私はTerm Termのリストであるデータメンバー用語を含むGlobalTermsクラスを持っています。IEnumerableのアイテムの値を別のクラスのメンバーで取得するにはどうすればよいですか?
各Termクラスには3つのメンバーがあります。
- int Id;
- bool IsApproved;
- 文字列注:
ので、それは次のようになります。私はGlobalTermsオブジェクト(globalTerms)をお持ちの場合
Class GlobalTerms
{
IEnumerable<TermInfo> UserTerms;
}
Class TermInfo
{
public int Id { get; set; }
public string Note{ get; set; }
public bool IsApproved{ get; set; }
}
、どのように私は、terminfoのStatusがTrue等しいTERMINFOオブジェクトを取得することができますか?
私はこのような何かを書き込もうとしました:
GlobalTerms globalTerms = new GlobalTerms();
globalTerms.UserTerms.Where(x => x.IsApproved.Equals(true))
.Select(x => x.Id);
私のタスクはUserTerms内のすべての項目がIsApproved分野で真の持っていることをチェックしていました。 結果で私はエラーを受け取りました: System.ArgumentNullException:値をnullにすることはできません。パラメータ名:すべての人に
*termsList* - is a IList<GlobalTerms>
foreach (var singleTerm in termsList)
{
var sourceTermsList = singleTerm.UserTerms.ToList();
foreach (var status in sourceTermsList)
{
status.IsApproved.Should().BeTrue();
}
}
ありがとうございガイズ、
:結果で 、この問題が解決された次のコードを使用:ソース ははANSWER
は、あなたの助けを事前にありがとうございます
NREは、 'GlobalTerms iTerms = new GlobalTerms();'、 'iTerms.UserTerms.Where ....'のように、あなたのオブジェクトに 'UsersTerms'をインスタンス化していないため、Nullです。 'Where'を使ってみると、例外が出ます。それが修正されたら、条件を 'Where(x => x.IsApproved)'に変更することができます。 – Habib
それは単純ですが、上記のコードは他のソースからのリストを作成しないと便利ではないので、関連するコードが不足している可能性があります。 –
ハビブ、ありがとう、あなたの考え:)私はこの問題を解決するのに役立ちます。 – Cindy