我有一个 C# 语句如下:

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();

关于c# - 在 LINQ 语句中添加条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23088627/

10-10 01:06