C# 'ın ilk sürümünden, bir yöntemin anahtar kelime ile alınabiliyorsa, bir yöntemin uzun bir parametreler listesini alabileceği So -Constreded çeşitli parametreler için bir dizi parametre dizisi olmuştur (bkz. Wikipedia'nın çeşitli işlevlere eklenmesi) params Başladı.
Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünümleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi sayesinde Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.
Aşağıdaki kod, dizili çeşitli parametrenin önceki varyantını gösterir:
public void MethodeMitBeliebigVielenParametern_Alt(string text,
params int[] args)
{
CUI.H2(nameof(MethodeMitBeliebigVielenParametern_Alt));
CUI.Print(text + ": " + args.Length);
foreach (var item in args)
{
CUI.LI(item);
}
}
Örneğin, yöntem aşağıdaki gibi hatırlanabilir:
MethodeMitbeliebigVielenParametern_Alt("Anzahl Zahlen", 1, 2, 3);
MethodeMitbeliebigVielenParametern_Alt("Number of numbers",
1, 2, 3, 4);
C# 13.0'da yeni, çeşitli parametrelerdeki bir dizi yerine, jenerik mengen türlerini (sözde parametre koleksiyonları) kullanmak da mümkündür params Span<T>:
public void MethodeMitBeliebigVielenParametern_Neu(string text,
params Span<int> args)
{
CUI.H2(nameof(MethodeMitBeliebigVielenParametern_Neu));
CUI.Print(text + ": " + args.Length); // statt args.Length
foreach (var item in args)
{
CUI.LI(item);
}
}
Aynı şekilde, çağrı parametrelerin ankrajında olduğu gibi esnektir:
MethodeMitBeliebigVielenParametern_Neu("Anzahl Zahlen", 1, 2, 3);
MethodeMitBeliebigVielenParametern_Neu("Number of numbers",
1, 2, 3, 4);
Bu nedenle, bu tür genel miktarlar bir params C# 13.0'da izin verildi:
Tıpkı bir dizi parametrede bitmiş bir dizi sunabileceğiniz gibi, daha sonra parametrelere dağıtılır
MethodeMitBeliebigVielenParametern_Alt(
"Anzahl Zahlen - übergeben als Int-Array",
[1, 2, 3]);
Yukarıdaki yeni türlerden birini, yöntemin bir parametre koleksiyonu olması gerekiyorsa da sunabilirsiniz:
MethodeMitBeliebigVielenParametern_Neu(
"Anzahl Zahlen - übergeben als List<int>",
new List<int> { 1, 2, 3 });
VEYA
MethodeMitBeliebigVielenParametern_Neu(
"Anzahl Zahlen - übergeben als List<int>",
[1, 2, 3]);
Dikkat: Aşağıdaki sözdizimi çalışmıyor:
MethodeMitBeliebigVielenParametern_Neu(
"Anzahl Zahlen - übergeben als List<int>",
new List<int> [1, 2, 3 ]);
Orada bu mümkün değil new List<int> [1, 2, 3 ] Üç boyutlu bir dizi List<int> oluşturuldu.
(RME)

Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünümleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi sayesinde Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.
Aşağıdaki kod, dizili çeşitli parametrenin önceki varyantını gösterir:
public void MethodeMitBeliebigVielenParametern_Alt(string text,
params int[] args)
{
CUI.H2(nameof(MethodeMitBeliebigVielenParametern_Alt));
CUI.Print(text + ": " + args.Length);
foreach (var item in args)
{
CUI.LI(item);
}
}
Örneğin, yöntem aşağıdaki gibi hatırlanabilir:
MethodeMitbeliebigVielenParametern_Alt("Anzahl Zahlen", 1, 2, 3);
MethodeMitbeliebigVielenParametern_Alt("Number of numbers",
1, 2, 3, 4);
C# 13.0'da yeni, çeşitli parametrelerdeki bir dizi yerine, jenerik mengen türlerini (sözde parametre koleksiyonları) kullanmak da mümkündür params Span<T>:
public void MethodeMitBeliebigVielenParametern_Neu(string text,
params Span<int> args)
{
CUI.H2(nameof(MethodeMitBeliebigVielenParametern_Neu));
CUI.Print(text + ": " + args.Length); // statt args.Length
foreach (var item in args)
{
CUI.LI(item);
}
}
Aynı şekilde, çağrı parametrelerin ankrajında olduğu gibi esnektir:
MethodeMitBeliebigVielenParametern_Neu("Anzahl Zahlen", 1, 2, 3);
MethodeMitBeliebigVielenParametern_Neu("Number of numbers",
1, 2, 3, 4);
Bu nedenle, bu tür genel miktarlar bir params C# 13.0'da izin verildi:
- Collections.Generic.IEnumerable<T>
- System.Collections.Generic.IReadOnlyCollection<T>
- Collections.Generic.IReadOnlyList<T>
- System.Collections.Generic.ICollection<T>
- Collections.Generic.IList<T>
- Tüm Sınıflar Collections.Generic.IEnumerable<T>alet
- Span<T>
- ReadOnlySpan<T>
Tıpkı bir dizi parametrede bitmiş bir dizi sunabileceğiniz gibi, daha sonra parametrelere dağıtılır
MethodeMitBeliebigVielenParametern_Alt(
"Anzahl Zahlen - übergeben als Int-Array",
[1, 2, 3]);
Yukarıdaki yeni türlerden birini, yöntemin bir parametre koleksiyonu olması gerekiyorsa da sunabilirsiniz:
MethodeMitBeliebigVielenParametern_Neu(
"Anzahl Zahlen - übergeben als List<int>",
new List<int> { 1, 2, 3 });
VEYA
MethodeMitBeliebigVielenParametern_Neu(
"Anzahl Zahlen - übergeben als List<int>",
[1, 2, 3]);
Dikkat: Aşağıdaki sözdizimi çalışmıyor:
MethodeMitBeliebigVielenParametern_Neu(
"Anzahl Zahlen - übergeben als List<int>",
new List<int> [1, 2, 3 ]);
Orada bu mümkün değil new List<int> [1, 2, 3 ] Üç boyutlu bir dizi List<int> oluşturuldu.
(RME)