gpt4 book ai didi

c# - 返回独立于 If-Else 顺序的 If-Else 结果?

转载 作者:行者123 更新时间:2023-11-30 19:14:56 25 4
gpt4 key购买 nike

如果我有以下代码:

string x = "123";
string y = "abc";

if (stringVar.Contains(x))
{
return x;
}
else if (stringVar.Contains(y))
{
return y;
}

在哪里

string stringVar = "123abc";

return x;

不过

stringVar = "abc123";

也会

return x;

有没有一种方法可以不遵循 if-else 语句的预定义顺序,而是让返回结果基于 stringVar 的顺序?

我想要的结果是:

stringVar = "123abc";
...
return x;

如果:

stringVar = "abc123";
...
return y;

编辑:

这个例子是我当前问题的一个非常简化的例子,String.StartsWith() 并不总是有效,因为我要查找的文本并不总是在 stringVar 的开头。此外,在我的实际问题中,单词之间没有明显的分隔符(即没有空格),这使得拆分 stringVar 变得困难。

最佳答案

首先我建议将项目存储在一个集合中,例如:

string[] words = {"123","abc"};

现在您可以使用 string.IndexOf 和 LINQ:

return words
.Where(stringVar.Contains)
.OrderBy(stringVar.IndexOf)
.FirstOrDefault();

关于c# - 返回独立于 If-Else 顺序的 If-Else 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50606343/

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