わかりました、/else が機能するかどうかはわかっています。別の方法が必要でした。
私は使っている
B = String.Concat(A.Substring(0, 40));
値の最初の 40 文字をキャプチャします。
の値A
が より大きい場合40
、B
はキャプチャできますが、 の値A
が 未満の場合40
、 でキャプチャされる値はありませんB
。
クイックアンドダーティ:
A.Length > 40 ? A.Substring(0, 40) : A
拡張機能を作成してみませんか... TruncateまたはLeftなどと呼んでください。
public static class MyExtensions
{
public static string Truncate(this string s, int length)
{
if(s.Length > length) return s.Substring(0, length);
return s;
}
}
次に、次のように簡単に呼び出すことができます。
string B = A.Truncate(40);
また、拡張メソッドにする必要はありませんが、よりクリーンになります。
StringTool クラスで:
public static string Truncate(string value, int length)
{
if(value.Length > length) return value.Substring(0, length);
return value;
}
そしてそれを呼び出すには:
string B = StringTool.Truncate(A, 40);
String.Concat は、ここでは目的を果たしません。むしろ、次のことを行う必要があります。
if(A.Length > 40)
B= A.Substring(0,40);
else
B=A;
以下のコードを使用して部分文字列を作成します
B = String.padright(40).Substring(0, 40)).Trim()
から左を使用できますMicrosoft.VisualBasic.Strings
。
B = Microsoft.VisualBasic.Strings.Left(A, 40);
とにかく、なぜあなたが使いたいのか分かりませんConcat
。