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

  • AndroidSale

    AndroidSale

    17 NİSAN 2011
  • Mr_BrettHooge

    Mr_BrettHoog

    3 Ocak 2011
  • sebsebdouze

    sebsebdouze

    7 ŞUBAT 2008