gpt4 book ai didi

c# - 哪个胜过另一个?(与字符串相关)

转载 作者:太空宇宙 更新时间:2023-11-03 19:16:37 25 4
gpt4 key购买 nike

<分区>

我不知道 String 对象的 IndexOf() 方法是如何工作的,所以我想知道在以下 2 个实现中哪个优于另一个:

首先,我想稍微介绍一下这个问题,简单地说,这里实现的函数/方法只有一个字符作为参数,它应该给出/返回与传入的字符对应的另一个字符。(规则下面给出了源字符集合和目标字符集合之间的匹配:

a <=> 9
b <=> 8
c <=> 7
d <=> 6
e <=> 5
f <=> 4
g <=> 3
h <=> 2
i <=> 1
j <=> 0

请注意,以上规则只是为了便于遵循,它不是固定规则,它可以是任何规则,因此不要基于该规则以其他方式实现这些方法。

现在是我想比较的 2 种方法:

1。第一个很短,基于 IndexOf()

string source = "abcdefghij";
string destination = "9876543210";
public char SourceToDest(char c){
return destination[source.IndexOf(c)];//Suppose the c is always in source.
}

2。第二个更长,使用 switch case:

public char SourceToDest(char c){
switch(c){
case 'a': return '9';
case 'b': return '8';
case 'c': return '7';
case 'd': return '6';
case 'e': return '5';
case 'f': return '4';
case 'g': return '3';
case 'h': return '2';
case 'i': return '1';
case 'j': return '0';
}
}

正如我之前提到的,这个规则是为了容易遵循,如果没有注意到这一点,你可能有另一种方法是这样的:

public char SourceToDest(char c){
return (char)(154 - (int)c); //154 = 106 + 48
}

如果您有另一种方法优于我介绍的两种方法,请与我分享。

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