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

  • 07cadikiz07

    07cadikiz07

    17 EKİM 2007
  • FF Radio

    FF Radio

    16 Mayıs 2008
  • movies95

    movies95

    27 Kasım 2006