有没有办法引用链中的最后一个表达式作为函数中的参数(C#)

Rol*_*ter 2 c# c#-4.0

嗨,我有以下代码:

log.Entry = (newEntry ?? "").Substring(0,Math.Min((newEntry ?? "").Length, 50));
Run Code Online (Sandbox Code Playgroud)

log.Entry是nvarchar(50)的数据库字段所以我想做的是限制到最多50个字符,但也有一个空检查所以我不尝试在null上运行字符串函数,这可能会抛出异常.(?)

我的问题是第二个(newEntry ??"")可以被某种运算符简化吗?这已经评估过一次,可能不需要再次评估.我正在寻找一个单行,所以它就像一个lambda风格的语法.(但我猜不是真正的lambda).

Ser*_*pov 5

log.Entry = newEntry?.Substring(0, Math.Min(newEntry.Length, 50)) ?? "";
Run Code Online (Sandbox Code Playgroud)

?? ""如果你想log.Entry成为null,如果newEntry为null ,则最后删除:

log.Entry = newEntry?.Substring(0, Math.Min(newEntry.Length, 50));
Run Code Online (Sandbox Code Playgroud)