2

次の IF ステートメントは、ListexceptionCM にドロップダウン リストの選択された値が含まれているかどうかを確認します。

List<string> ExceptionCM = new List<string>;
if(exceptionsCM.Any(s => ddl_model.SelectedValue.Contains(s)) )
{
       //do something
}

List<string> ExceptionPM;
List<string> ExceptionDL;
List<string> ExceptionCL;

ステートメントを変更したいので、4 つのリストに選択したドロップダウンの値が含まれていないかどうかを確認できます。私たちを手伝ってくれますか ?

4

3 に答える 3

2

あなたは次のようにすることができます:

//combine all lists into a single IEnumerable<string>
IEnumerable<string> unionList = ExceptionCM.Union(ExceptionPM)
                                              .Union(ExceptionDL)
                                                  .Union(ExceptionCL);

//check against union list
if(unionList .Any(s => !ddl_model.SelectedValue.Contains(s)) )
{
   //do something
}

このようなもの。

于 2012-09-18T07:58:24.553 に答える
1
List<string> ExceptionCM = new List<string>;
foreach(List<yourType> list in YourLists<List<YourType>>)
{
    if(exceptionsCM.Any(s => !list.Contains(s)) )
    {
       //do something
    }
{
List<string> ExceptionPM;
List<string> ExceptionDL;
List<string> ExceptionCL;

! を追加するだけです。ブール値を返すddl_model.SelectedValue.Contains(s) の前の (not) 演算子。

于 2012-09-18T07:51:59.133 に答える
1

All4 つのリストのすべてのアイテムに次のものが含まれていないことを確認するために使用できます。

var exceptions = new List<List<string>>()
{
    ExceptionCM, 
    ExceptionPM, 
    ExceptionDL, 
    ExceptionCL
}

if (exceptions.SelectMany(ex => ex)
              .All(s => !ddl_model.SelectedValue.Contains(s)))
{
}

編集: Anyコレクションの要素が条件を満たすかどうかを判断するため、この場合は正しくありません。

于 2012-09-18T08:00:08.110 に答える