SORU
9 Mayıs 2009, CUMARTESİ


.Eski vb solun Net eşdeğer(string, uzunluk) fonksiyonu?

Bir sigara gibi .net programcı ben arıyorum .eski vb net eşdeğeri left(string, length) işlevi. Herhangi bir uzunlukta bir dize için çalıştı o tembel oldu. , left("foobar", 3) = "foo" beklendiği gibi, en yardımsever, left("f", 3) = "f".

.net string.Substring(index, length) menzil dışında her şey için istisnalar atar. Java hep Apache Commons lang vardı.StringUtils kullanışlı. Google çok fazla dize işlevleri arıyor anlamıyorum.

Düzenleme:

@Noldorin- Vay, VB.NET için teşekkür ederim uzantıları! Bana birkaç saniye aynısını alsa da ilk karşılaşmam, c#:

public static class Utils
{
    public static string Left(this string str, int length)
    {
        return str.Substring(0, Math.Min(length, str.Length));
    }
}

Statik sınıf ve yöntemi olarak this anahtar kelime not. Evet, "foobar".Left(3) olarak çağırmak kadar basit. Ayrıca c# extensions on msdn bkz.

CEVAP
9 Mayıs 2009, CUMARTESİ


Burada iş yapacak bir uzantısı yöntemi.

<System.Runtime.CompilerServices.Extension()> _
Public Function Left(ByVal str As String, ByVal length As Integer) As String
    Return str.Substring(0, Math.Min(str.Length, length))
End Function

Bu eski Left fonksiyon (12 *yani* ) VB veya daha yeni VB.NET sözdizimini kullanarak gibi kullanabilirsiniz anlamına gelir, yani

Dim foo = "f".Left(3) ' foo = "f"
Dim bar = "bar123".Left(3) ' bar = "bar"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007
  • KoreanFrogMania님의 채널

    KoreanFrogMa

    18 Aralık 2011
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008