如何一次使用多个值检查 DataSet 中是否存在 table?
How to check whether a table exists within DataSet using multiple values at once?
我有两套table:
一个实体(值“-1”到“-7”)和一个静态数据(值“-8”到“-11”)。
静态数据 table 依赖实体 table 才能成功验证。我正在尝试检查静态数据 table 是否存在而实体 table 是否存在,如果存在,则将异常附加到异常 StringBuilder.
下面的代码可以完成工作并按预期工作,但是,它很碍眼,我相信一定有更好的方法可以做到这一点。我查看了 Google,但是我发现 none 似乎与这个特定场景有关。
//Check Entities (Company, Trust, Individual) exist to link static data (Address, Email, Bank Account, Phone Number) to, if not add exception
if ((!imports.Tables.Contains("-1") && !imports.Tables.Contains("-2") && !imports.Tables.Contains("-3") &&
!imports.Tables.Contains("-4") && !imports.Tables.Contains("-5") && !imports.Tables.Contains("-6") &&
!imports.Tables.Contains("-7")) && imports.Tables.Contains("-8") && imports.Tables.Contains("-9") &&
imports.Tables.Contains("-10") && imports.Tables.Contains("-11"))
{
exception.Append("No Entity Found: Address, Email, Bank Account & Phone Number require an Entity (Trust, Company, Individual) to be created to pass validation.");
exception.AppendLine();
}
我试图将值添加到列表中并在列表中进行比较但没有成功,下面是我为其中一个 table 收集的内容:
List<string> staticData = new List<string>{ staticData.Add("-8"); staticData.Add("-9"); staticData.Add("-10"); staticData.Add("-11")}
if((imports.Tables.Contains(staticData) {} // Didn't expect this to work without looping through the list but that wouldn't be ideal in an if statement.
以为我会来这里寻求帮助。
创建两个列表并使用.All()
测试,如果Tables
中的数字不存在于staticData1
中而存在于staticData2
中,如以下代码:
List<string> staticData1 = new List<string>
{
"-1","-2","-3","-4","-5","-6","-7"
};
List<string> staticData2 = new List<string>
{
"-8","-9","-10","-11"
};
if (imports.Tables != null
&& imports.Tables.Count > 0
&& staticData1.All(x => !Tables.Contains(x))
&& staticData2.All(x => Tables.Contains(x)))
{
exception.Append("No Entity Found: Address, Email, Bank Account & Phone Number require an Entity (Trust, Company, Individual) to be created to pass validation.");
exception.AppendLine();
}
希望对您有所帮助。
我有两套table:
一个实体(值“-1”到“-7”)和一个静态数据(值“-8”到“-11”)。
静态数据 table 依赖实体 table 才能成功验证。我正在尝试检查静态数据 table 是否存在而实体 table 是否存在,如果存在,则将异常附加到异常 StringBuilder.
下面的代码可以完成工作并按预期工作,但是,它很碍眼,我相信一定有更好的方法可以做到这一点。我查看了 Google,但是我发现 none 似乎与这个特定场景有关。
//Check Entities (Company, Trust, Individual) exist to link static data (Address, Email, Bank Account, Phone Number) to, if not add exception
if ((!imports.Tables.Contains("-1") && !imports.Tables.Contains("-2") && !imports.Tables.Contains("-3") &&
!imports.Tables.Contains("-4") && !imports.Tables.Contains("-5") && !imports.Tables.Contains("-6") &&
!imports.Tables.Contains("-7")) && imports.Tables.Contains("-8") && imports.Tables.Contains("-9") &&
imports.Tables.Contains("-10") && imports.Tables.Contains("-11"))
{
exception.Append("No Entity Found: Address, Email, Bank Account & Phone Number require an Entity (Trust, Company, Individual) to be created to pass validation.");
exception.AppendLine();
}
我试图将值添加到列表中并在列表中进行比较但没有成功,下面是我为其中一个 table 收集的内容:
List<string> staticData = new List<string>{ staticData.Add("-8"); staticData.Add("-9"); staticData.Add("-10"); staticData.Add("-11")}
if((imports.Tables.Contains(staticData) {} // Didn't expect this to work without looping through the list but that wouldn't be ideal in an if statement.
以为我会来这里寻求帮助。
创建两个列表并使用.All()
测试,如果Tables
中的数字不存在于staticData1
中而存在于staticData2
中,如以下代码:
List<string> staticData1 = new List<string>
{
"-1","-2","-3","-4","-5","-6","-7"
};
List<string> staticData2 = new List<string>
{
"-8","-9","-10","-11"
};
if (imports.Tables != null
&& imports.Tables.Count > 0
&& staticData1.All(x => !Tables.Contains(x))
&& staticData2.All(x => Tables.Contains(x)))
{
exception.Append("No Entity Found: Address, Email, Bank Account & Phone Number require an Entity (Trust, Company, Individual) to be created to pass validation.");
exception.AppendLine();
}
希望对您有所帮助。