C# 比重复异常过滤器更好的方法?
可以这样编写代码,但无需重复用户异常过滤器C# 比重复异常过滤器更好的方法?,c#,linq,C#,Linq,可以这样编写代码,但无需重复用户异常过滤器 foreach (var val in users) { if (val.Any(x => x.UserException.Contains("QPZ") || x.UserException.Contains("QPR"))) { listUsers.Add( val?.First( s => s.UserException.Contains("QPZ") ||
foreach (var val in users)
{
if (val.Any(x => x.UserException.Contains("QPZ") || x.UserException.Contains("QPR")))
{
listUsers.Add(
val?.First( s => s.UserException.Contains("QPZ") ||
s.UserException.Contains("QPR")));
}
else
{
listUsers.AddRange(val);
}
}
您可以使用异常列表并对照以下内容进行检查:
var exceptionList = new List<string> {
"QPZ",
"QPR"
};
foreach (var val in users)
{
if (val.Any(x => exceptionList.Contains(x.UserException))
{
listUsers.Add(
val?.First(s => exceptionList.Contains(x.UserException))
);
}
else
{
listUsers.AddRange(val);
}
}
var exceptionList=新列表{
“QPZ”,
“QPR”
};
foreach(用户中的var val)
{
if(val.Any(x=>exceptionList.Contains(x.UserException))
{
listUsers.Add(
val?.First(s=>exceptionList.Contains(x.UserException))
);
}
其他的
{
listUsers.AddRange(val);
}
}
您可以使用异常列表并检查:
var exceptionList = new List<string> {
"QPZ",
"QPR"
};
foreach (var val in users)
{
if (val.Any(x => exceptionList.Contains(x.UserException))
{
listUsers.Add(
val?.First(s => exceptionList.Contains(x.UserException))
);
}
else
{
listUsers.AddRange(val);
}
}
var exceptionList=新列表{
“QPZ”,
“QPR”
};
foreach(用户中的var val)
{
if(val.Any(x=>exceptionList.Contains(x.UserException))
{
listUsers.Add(
val?.First(s=>exceptionList.Contains(x.UserException))
);
}
其他的
{
listUsers.AddRange(val);
}
}
您可以通过将Any(过滤器)
+First(过滤器)
替换为FirstOrDefault(过滤器)
+null
检查:
foreach (var val in users)
{
var match = val.FirstOrDefault(x =>
x.UserException.Contains("QPZ") || x.UserException.Contains("QPR"));
if (match != null)
{
listUsers.Add(match);
}
else
{
listUsers.AddRange(val);
}
}
通过将
Any(filter)
+First(filter)
替换为First或default(filter)
+null
检查:
foreach (var val in users)
{
var match = val.FirstOrDefault(x =>
x.UserException.Contains("QPZ") || x.UserException.Contains("QPR"));
if (match != null)
{
listUsers.Add(match);
}
else
{
listUsers.AddRange(val);
}
}
多亏了Ivan和JanR,我找到了问题的答案,非常感谢
var exceptionList = new List<string> {"QPZ","QPR"};
foreach (var val in users)
{
var match = val.FirstOrDefault(x => exceptionList.Contains(x.UserException));
if (match != null)
{
usersList.Add(match);
}
else
{
usersList.AddRange(val);
}
}
var exceptionList=新列表{“QPZ”,“QPR”};
foreach(用户中的var val)
{
var match=val.FirstOrDefault(x=>exceptionList.Contains(x.UserException));
如果(匹配!=null)
{
usersList.Add(匹配);
}
其他的
{
usersList.AddRange(val);
}
}
多亏了伊万和詹,我找到了问题的答案,非常感谢
var exceptionList = new List<string> {"QPZ","QPR"};
foreach (var val in users)
{
var match = val.FirstOrDefault(x => exceptionList.Contains(x.UserException));
if (match != null)
{
usersList.Add(match);
}
else
{
usersList.AddRange(val);
}
}
var exceptionList=新列表{“QPZ”,“QPR”};
foreach(用户中的var val)
{
var match=val.FirstOrDefault(x=>exceptionList.Contains(x.UserException));
如果(匹配!=null)
{
usersList.Add(匹配);
}
其他的
{
usersList.AddRange(val);
}
}