Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在lambda中返回三值_C#_Lambda_Ternary Operator - Fatal编程技术网

C# 在lambda中返回三值

C# 在lambda中返回三值,c#,lambda,ternary-operator,C#,Lambda,Ternary Operator,我有一个Func,我想分配给属性 我想检查列表中是否有任何内容,如果有,我想在开始处插入一项,然后返回列表 如果没有,我只想返回一个列表 看来我可以这样做: Errors = new Func<IList<string>>(() => { if (errors.Any()) { errors.Insert(0

我有一个
Func
,我想分配给属性

我想检查列表中是否有任何内容,如果有,我想在开始处插入一项,然后返回列表

如果没有,我只想返回一个列表

看来我可以这样做:

Errors = new Func<IList<string>>(() =>
                {
                    if (errors.Any())
                    {
                        errors.Insert(0, $"{tp.Name}");
                        return errors;
                    }
                    else
                    {
                        return null;
                    }

                })(),
Errors=newfunc(()=>
{
if(errors.Any())
{
错误。插入(0,$“{tp.Name}”);
返回错误;
}
其他的
{
返回null;
}
})(),
有没有一种方法可以用三元组来实现这一点?还是更整洁的方式?对于三元数组,我不能执行类似于
List.Insert(t)
的操作,因为它返回的是void而不是List

干杯

你可以写一封信

当然,如果标准库中有一个更多的

,您就可以编写一个


当然,如果标准库有一个更大的

就好了。你是对的,在列表中插入一个项目会返回void,而不是列表。您可以做的是返回一个新列表:

var existinglist = new List<string> { "three", "one", "five" };

var condition = true;

var resultList = condition ? new[] { "owl" }.Concat(existinglist).ToList() : existinglist;
var existinglist=新列表{“三”、“一”、“五”};
var条件=真;
var resultList=条件?new[]{“owl”}.Concat(existinglist).ToList():existinglist;

你说得对,在列表中插入项目会返回void,而不是列表。您可以做的是返回一个新列表:

var existinglist = new List<string> { "three", "one", "five" };

var condition = true;

var resultList = condition ? new[] { "owl" }.Concat(existinglist).ToList() : existinglist;
var existinglist=新列表{“三”、“一”、“五”};
var条件=真;
var resultList=条件?new[]{“owl”}.Concat(existinglist).ToList():existinglist;
var existinglist = new List<string> { "three", "one", "five" };

var condition = true;

var resultList = condition ? new[] { "owl" }.Concat(existinglist).ToList() : existinglist;