Hvordan gjør jeg det params søkeord bruks ligner skriftlig til konsoll

stemmer
0

I forhold til mitt siste spørsmål ( Er det en enklere måte å passere en gruppe variabler som en matrise )

Jeg prøvde å passere strengvariabler til en metode for å skrive til en bekk, heller enn å gjøre det skriftlig i hvert enkelt metode.

Bruken av params søkeordet er åpenbart en løsning, men ved å bruke det jeg tror jeg kan ikke gjøre ting som dette:

Write(hello {0},var1);

Hvilke uten gjør koden ganske rotete. Er det en måte å tvinge denne funksjonen til mine egne metoder?

Publisert på 30/10/2009 klokken 17:00
kilden bruker
På andre språk...                            


2 svar

stemmer
6

void MyMethod(string format, params object[] obj) {
    var formattedString = String.Format(format, obj);
    // do something with it...
}
Svarte 30/10/2009 kl. 17:04
kilden bruker

stemmer
1

En metode som har paramsordet kan føres en eksplisitt matrise eller en inline matrise.

Derfor kan du skrive følgende:

public static void Write(params string[] stringsToWrite) {
    //...
    writer.WriteLine("Hello {0} {1} {2}", stringsToWrite);
    //...
}

REDIGER Spørsmålet er uklart. Hvis du spør om en paramsrekke parameter kan gis bare én verdi, er svaret ja.

For eksempel:

Write("myString");

Grunnen til at mange paramsmetoder i Net har separate overbelastninger som tar bare en parameter er for å unngå å skape et array for optimalisering grunner.

Svarte 30/10/2009 kl. 17:08
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more