私はUserNamesのリストをカンマ区切りの文字列で持っています。次の入力ユーザー名を探したい。例については :文字列のリスト内の次の文字列を見つけよう
var s0 = "abc,deF,ghi,jkl";
var s1 = "abc";
var s2 = "def";
var s3 = "ghi";
var s4 = "jkl";
結果は次のようになります。ここでは
NextInString(s0,s1) == "def"
NextInString(s0,s2) == "ghi"
NextInString(s0,s3) == "jkl"
NextInString(s0,s4) == "jkl"
は私が持っているものです。
string NextInString(string listOfNames, string userName)
{
if(listOfNames == string.Empty || userName == string.Empty)
return string.Empty;
var s = listOfNames.Split(',');
var count = 0;
foreach (var element in s)
{
if (element == userName)break;
count++;
}
if (s.Length -1 == count)
{
return s[count];
}
else return s[ count + 1 ];
}
私の質問は、これにアプローチするより良い/簡単な方法はありますか?
私はお手伝いしたいと思いますが、あなたのコードの書式設定が私の目を傷つけ、今や私は目が見えません。 – itsme86
誰かが私を解決するのを手伝った。今あなたの失明を修正する必要があります:) @ itsme86 – Meidi
私はあなたの現在のデザインは、メソッドが呼び出されるたびにコンマ区切りリストを再解析する必要があることを指摘したいと思います。一度それを解析し、 'IEnumerable'や 'IList 'を渡すことは、もっと大いに効果があります。 –
itsme86