Sandro Bizioli


Chi sogna di giorno conosce molte cose che sfuggono a chi sogna soltanto di notte. (E.A.Poe)
Mappa

Replicare una stringa in VB.Net - StrDupEx

Supponiamo di voler creare una stringa composta da uno stesso carattere ripetuto più volte.
Nel buon vecchio VB6 esisteva la funzione String(Number as Long, Character).

 Debug.Print String(5, "p")

In VB.Net è stata sostituita dalla StrStup(Number as Integer, Character as Object)

  Debug.Print StrDup(5, "p")

Supponiamo, questa volta, di voler replicare una stringa e non un solo carattere. Le due funzioni precedenti accettano come Character una stringa, ma ne replicano solo il primo carattere.

In nostro aiuto arriva la StrDupEx che accetta sempre i due parametri Number e Character come per le funzioni originali. Questa volta, però, Character è di tipo String e verrà completamente replicato.

Qui di seguito una duplice versione per VB.Net e VB6.

VB.Net

''' <summary>
''' Restituisce una stringa composta da uno o pi caratteri ripetuti per il numero di volte specificato.
''' </summary>
''' <param name="Number">Numero di ripetizioni da effettuare</param>
''' <param name="Character">Stringa da replicare</param>
''' <returns></returns>
''' <remarks></remarks>
Private Function StrDupEx(ByVal Number As Integer, ByVal Character As String) As String
'***********************************************************
' Func: StrDupEx (Creazione Sandro Bizioli-23/09/2008; Mod.: )
' Desc: Restituisce una stringa composta dal o dai caratteri specificato/i
' ripetuto per il numero di volte specificato.
' convertita nel rispettivo numero long
' Par : Number Numero di ripetizioni da effettuare
' Ret : Character Stringa da replicare
'***********************************************************
Dim newString As New System.Text.StringBuilder(Character.Length * Number)
   For x As Integer = 1 To Number
      newString.Append(Character)
   Next
   Return newString.ToString
End Function

  VB6

 Private Function StrDupEx(ByVal Number As Integer, ByVal Character As String) As String
'***********************************************************
' Func: StrDupEx (Creazione Sandro Bizioli-23/09/2008; Mod.: )
' Desc: Restituisce una stringa composta dal o dai caratteri specificato/i
' ripetuto per il numero di volte specificato.
' convertita nel rispettivo numero long
' Par : Number Numero di ripetizioni da effettuare
' Ret : Character Stringa da replicare
'***********************************************************
Dim newString As String
Dim x As Integer
   For x = 1 To Number
      newString = newString & Character
   Next
   StrDupEx = newString
End Function

Categoria: VB.Net
giovedì, 25 set 2008 Ore. 17.38
Statistiche
  • Views Home Page: 109.953
  • Views Posts: 560.653
  • Views Gallerie: 109.205
  • n° Posts: 227
  • n° Commenti: 222
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003