我有一个C#声明如下:添加条件在LINQ声明
var errors = errorList.Select((e, i) => string.Format("Error occured #{0}: {1} (Error code = {2}).", i + 1, e.Message, e.ErrorCode)).ToArray();
我需要显示“发生错误”,当e.ErrorCode是“错误”和“警告出现”当E。 ErrorCode是'警告'。 如何将此条件添加到上述说明中?
谢谢。
我有一个C#声明如下:添加条件在LINQ声明
var errors = errorList.Select((e, i) => string.Format("Error occured #{0}: {1} (Error code = {2}).", i + 1, e.Message, e.ErrorCode)).ToArray();
我需要显示“发生错误”,当e.ErrorCode是“错误”和“警告出现”当E。 ErrorCode是'警告'。 如何将此条件添加到上述说明中?
谢谢。
我可能只是包装稍微更复杂的逻辑变成像这样另一种方法..
private string GetErrorCodeLogLabel(ErrorCode code)
{
if(code == ErrorCode.Error /* || .. other errors*/)
return "Error";
else if (code == ErrorCode.Warning /* || .. other warnings*/)
return "Warning";
throw new NotImplementedException(code);
}
var errors = errorList.
Select((e, i) => string.Format("{0} occured #{1}: {2} (Error code = {3}).", GetErrorCodeLogLabel(e.ErrorCode), i + 1, e.Message, e.ErrorCode)).
ToArray();
您可以根据在线使用:(你可以修改条件)
var errors = errorList.Select((e, i) => string.Format("{0} occured #{1}: {2} (Error code = {3}).",
e.ErrorCode == ErrorCode.Error ? "Error" : "Warning",
i + 1,
e.Message,
e.ErrorCode)).ToArray();
Thanks.It工作。 – Jimmy
我在想如果我们可以在不添加新功能的情况下实现这个功能,但无论如何这都可以工作。谢谢。 – Jimmy