gpt4 book ai didi

c# - 从数组中获取字符串或在单行中设置默认值

转载 作者:可可西里 更新时间:2023-11-01 08:08:12 24 4
gpt4 key购买 nike

所以我们有 ?? 来解析当左手为 null 时的右手值。string[] 的等价物是什么。

例如

string value = "One - Two"
string firstValue = value.Split('-')[0] ?? string.Empty;
string secondValue = value.Split('-')[1] ?? string.Empty;

如果我们尝试获取第三个索引或者如果 string value = "One",上述示例仍然会崩溃。因为它不是 null 但 IndexOutOfRangeException 被抛出。

https://learn.microsoft.com/en-us/dotnet/api/system.indexoutofrangeexception

那么解决上述问题的单线解决方案是什么?我想避免 try-catch 场景,因为这会产生丑陋的代码。

我想从 string[] 中获取值,并将 string.Empty 作为备份值,这样我的 string 永远不会

最佳答案

好吧,你可以试试 Linq:

using System.Linq;

...

string thirdValue = value.Split('-').ElementAtOrDefault(2) ?? string.Empty;

但是,您的代码有一个缺点:您经常拆分相同的字符串。我建议提取 value.Split('-'):

string value = "One - Two"
var items = value.Split('-');

string firstValue = items.ElementAtOrDefault(0) ?? string.Empty;
string secondValue = items.ElementAtOrDefault(1) ?? string.Empty;

关于c# - 从数组中获取字符串或在单行中设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57270617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com