.netプログラマーではありません。私は、古いvb関数left(string, length)
と同等の.netを探しています。任意の長さの文字列で機能するという点で怠惰でした。期待通り、left("foobar", 3) = "foo"
、最も有用なのはleft("f", 3) = "f"
です。。NETの古いVBの左(文字列、長さ)の機能?
In。string.Substring(index, length)
は、範囲外のすべてに対して例外をスローします。 Javaでは、いつもApache-Commons lang.StringUtilsが便利でした。 Googleでは、文字列関数をあまり検索していません。
編集: @Noldorin
- うわー、あなたのvb.netの拡張のためにありがとうございました!私の最初の出会い、それは、C#で同じことを行うために私に数秒を要したものの:
public static class Utils
{
public static string Left(this string str, int length)
{
return str.Substring(0, Math.Min(length, str.Length));
}
}
は静的なクラスやメソッドなどthis
キーワードを注意してください。はい、彼らは"foobar".Left(3)
として呼び出すのが簡単です。 c# extensions on msdnも参照してください。
あなたを紹介してくれてうれしいです。 :) VB.NETとC#の両方で非常に便利な機能です(適切な使い方が分かっている限り)。いつでも便利に使えます。ところで、あなたが気付いたかどうかは分かりませんが、Math.Min関数はBCLの一部なので、C#でも使うことができます。 – Noldorin
@Nolderin - とても素敵で、Math.Minのコメントを反映するように編集されています。ありがとうございました! – Josh
脚注として、新しい文字列を返します(str.Take(length).ToArray());また動作します。おそらく部分文字列を使うほうが速いと思います。 – Sean