If
またはTry catch
を使用せずにString.Lengthが20以上の場合にのみ文字列を部分文字列化できますか?サブストリング文字列の長さをチェックした後の文字列IfまたはTryキャッチ
ありがとうございます!
If
またはTry catch
を使用せずにString.Lengthが20以上の場合にのみ文字列を部分文字列化できますか?サブストリング文字列の長さをチェックした後の文字列IfまたはTryキャッチ
ありがとうございます!
あなたは何を試しましたか?ただ、事前に確認してください。
if(input.Length >= 20)
{
input = input.Substring(0,20);
}
あなたは本当には、ステートメントあなただけの、この場合にかかわらず、解決策を難読化し、パフォーマンスが低いのLINQを使用することができれば使用したくない場合は、次の
input = new string(input.Take(20).ToArray());
を
input = input.Length >= 20 ? input.Substring(0,20) : input;
部分文字列の範囲が元の文字列の範囲内にあることを確認する場合は、try-catchは必要ありません。もちろん、元のものよりも長い部分文字列を取得することはできません。
if
文のいずれかを使用していません3210
文字列の拡張子を使用します。それでもIFを使用しますが、使用するときにコードがきれいになります。
public static string Left(this string input, int length)
{
string result = input;
if (input != null && input.Length > length)
{
result = input.Substring(0, length);
}
return result;
}
用法:
input = input.Left(20);
あなたはあなたが、それは元の文字列20戻り未満だとどうか、nullを返したいれるもの状態はありませんので、これは本当に、明確化を必要ですか?ただ心のうち
(someString.Length < 20) ? someString : someString.SubString(...
...
a.SubString(Math.Min(startPos, a.Length), Math.Min(a.Length - Math.Min(startPos, a.Length),
requestedLen - Math.Min(startPos, a.Length);
の神私のああ、私の脳の火傷を:あなたがもしブロックしたくない場合は
とにかく、あなたは三項演算子を使用することができます、袋を打つ時間...
もう一度質問を読むことができますか?私はifを使用せずに達成することができますか、キャッチしようと思っていますか? – user570715