Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

String.format με χρήση array

Îåêßíçóå áðü ôï ìÝëïò Digit. Τελευταία δημοσίευση από το μέλος Digit στις 25-02-2009, 15:05. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  25-02-2009, 10:40 48715

    String.format με χρήση array

    Καλημέρα,

    Έχω ένα string, με τιμή:
        myString="something{1}{2}{3}"
    και θέλω να του περάσω κάποιες τιμές που βρίσκονται σε ένα array.
    Δοκιμάζοντας String.Format(myString,myArray) μου βγάζει το εξής error: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.

    Αντιλαμβάνομαι ότι αυτό οφείλεται διότι το String.Format δεν αναγνωρίζει το array που του περνάω σαν λίστα από τιμές αλλά ως μία μοναδική τιμή.

    Έχει κανείς καμιά λύση σε αυτό;

  •  25-02-2009, 11:05 48717 σε απάντηση της 48715

    Απ: String.format με χρήση array

    Καλά που ακούστηκε developer να μετράει από το 1!!!
    Για δοκίμασε myString="something{0}{1}{2}"
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  25-02-2009, 11:38 48718 σε απάντηση της 48717

    Απ: String.format με χρήση array

    Dimitris Papadimitriou:
    Καλά που ακούστηκε developer να μετράει από το 1!!!
    Για δοκίμασε myString="something{0}{1}{2}"


    Ευχαριστώ για την απάντηση, αλλά δεν φταίει αυτό, δικό μου το λάθος σε αυτό που έγραψα παραπάνω.
    Ο κώδικάς μου έχει την μορφή αυτού που προτείνεις (zero based), το πρόβλημα είναι άλλο.
    Αν θέλεις δοκίμασέ το για να δεις:

                Dim myString As String = "blabla{0}{1}{2}{3}{4}etc"
                Dim myList As New ArrayList
                myList.Add("value1")
                myList.Add("value2")
                myList.Add("value3")
                myList.Add("value4")
                myList.Add("value5")
                myString = String.Format(myString, myList)

  •  25-02-2009, 11:55 48719 σε απάντηση της 48718

    Απ: String.format με χρήση array

    Το String.Format έχει κάποια overloads. Αυτό που χρησιμοποιείς εσύ είναι το String.Format(text as string, param0 as object) το οποίο περιμένει ένα format string με μόνο το {0} placeholder. Προφανώς δεν θέλεις αυτό.
    Θέλεις το String.Format(text as string, params as object()) το οποίο παίρνει πολλές παραμέτρους σε array. Σωστά;
    Άρα πρέπει να χρησιμοποιήσεις array αντί για ArrayList.
    Οπότε:
    1
    2
    3
    Dim myString As String = "blabla{0}{1}{2}{3}{4}etc"
    Dim myList As New String() { "value1", "value2"....... } ' δεν είμαι σίγουρος αν συντάσσεται έτσι αυτό στην vb
    myString = String.Format(myString, myList)

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  25-02-2009, 12:09 48721 σε απάντηση της 48719

    Απ: String.format με χρήση array

    Ναι, εννοείς αυτό:

    1
    2
    3
    Dim myString As String = "blabla{0}{1}{2}{3}{4}etc"
    Dim myList() As String = New String() {"0", "1", "2", "3", "4", "5"}
    myString = String.Format(myString, myList)

    το οποίο και παιζει. Το πρόβλημά μου όμως είναι ότι δεν μπορώ να ξέρω ούτε το πόσες παραμέτρους θα έχω,
    αλλά ούτε και ποιες είναι για να δημιουργήσω hardcoded το :

    Dim
    myList() As String = New String() {"0", "1", "2", "3", "4", "5"}

    αλλά κάθε φορά κάνω loop για να τις μαζέψω. Θα πρέπει να το δηλώσω έτσι:

    Dim
    myList() As String = New String() {}

    Πως μπορώ να προσθέσω στη συνέχεια παραμέτρους αν λοιπόν δημιουργήσω ένα άδειο string()   ?

     

  •  25-02-2009, 12:16 48722 σε απάντηση της 48721

    Απ: String.format με χρήση array

    1
    2
    3
    4
    Dim myList As new List<string>()
    myList.Add("v1")
    myList.Add("v2")
    myList.ToArray()


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  25-02-2009, 15:05 48729 σε απάντηση της 48722

    Απ: String.format με χρήση array

    Δημήτρη θα το δοκιμάσω,
    Ευχαριστώ.

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems