PowerShell'de Bir Dizideki Tüm Sayıları Toplama
PowerShell dizisindeki tüm sayıları toplamak ister misiniz? Bu PowerShell eğitiminde PowerShell'de bir dizideki tüm sayıların nasıl toplanacağını açıklayacağım.
PowerShell'de bir dizideki tüm sayıları toplamak için -Sum parametresiyle Measure-Object cmdlet'ini kullanın. Örneğin, $total=($array | Measure-Object -Sum).Sum, $array içindeki tüm sayısal değerlerin toplamını hesaplar. Bu, bir sayı koleksiyonunun toplamını hızlı bir şekilde elde etmenin etkili bir yoludur.
PowerShell'de Bir Dizideki Tüm Sayıları Toplama
Dizi, bir dizi öğeyi tutan bir veri yapısıdır. Bu öğeler sayılar, dizeler veya başka herhangi bir nesne türü olabilir. PowerShell'de diziler, öğeleri virgülle ayırarak oluşturulur.
$numbers = 1, 2, 3, 4, 5 # This is an array of numbersŞimdi PowerShell’de bu dizideki tüm bu sayıları çeşitli yöntemler kullanarak nasıl toplayacağımızı veya toplayacağımızı görelim.
Yöntem 1: ForEach Döngüsü Kullanma
Bir dizideki sayıları toplamanın en basit yolu PowerShell'de ForEach döngüsünü kullanmaktır. Bu döngü dizideki her sayıyı yineler ve onu bir toplam değişkenine ekler.
$numbers = 1, 2, 3, 4, 5
$sum = 0 # Initialize sum to zero
foreach ($number in $numbers) {
$sum += $number # Add each number to the sum
}
Write-Output "The sum is: $sum"
Kodu VS kodunu kullanarak çalıştırdıktan sonra çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:
Yöntem 2: Measure-Object Cmdlet'ini Kullanma
PowerShell, bir dizideki sayıların toplanması da dahil olmak üzere nesnelerin özelliklerine ilişkin hesaplamalar gerçekleştirebilen Measure-Object adlı bir cmdlet sağlar.
$numbers = 1, 2, 3, 4, 5
$sum = ($numbers | Measure-Object -Sum).Sum # Use Measure-Object to sum the numbers
Write-Output "The sum is: $sum"Measure-Object cmdlet'i güçlü bir araçtır ve sayım, ortalama, maksimum ve minimum gibi diğer istatistiksel bilgileri hesaplamak için de kullanılabilir.
Yöntem 3: ForEach-Object Cmdlet'ini Kullanma
PowerShell'de bir dizideki sayıları toplamanın başka bir yolu da ForEach-Object cmdlet'ini -Begin, -Process ve -Son parametreleri.
İşte tam bir PowerShell betiği:
$numbers = 1, 2, 3, 4, 5
$sum = 0 # Initialize sum to zero
$numbers | ForEach-Object -Begin { $sum = 0 } -Process { $sum += $_ } -End { Write-Output "The sum is: $sum" }Bu örnekte, -Begin bloğu toplam değişkenini başlatır, -Process bloğu her sayıyla toplamı günceller ve -End bloğu toplam toplamı verir.
Yöntem 4: Dizi Biriktirmeyi Kullanma
PowerShell ayrıca bir döngü içinde += operatörünü kullanarak bir diziyi doğrudan tek bir değerde toplamanıza da olanak tanır. Bu, PowerShell dizisindeki tüm sayıları toplamanın başka bir yöntemidir.
$numbers = 1, 2, 3, 4, 5
$sum = 0 # Initialize sum to zero
for ($i = 0; $i -lt $numbers.Length; $i++) {
$sum += $numbers[$i] # Add each number to the sum
}
Write-Output "The sum is: $sum"Bu yöntem ForEach döngüsüne benzer ancak dizi dizinleri üzerinde yineleme yapmak için bir for döngüsü kullanır.
Yöntem 5: Linq'i Kullanma
.NET konusunda deneyimli olanlar için PowerShell, bir dizideki sayıları toplamak için Linq kitaplığını kullanabilir.
Add-Type -AssemblyName System.Linq
$numbers = 1, 2, 3, 4, 5
$sum = [System.Linq.Enumerable]::Sum([System.Collections.Generic.List[int]]$numbers)
Write-Output "The sum is: $sum"
Bu yöntem daha ileri düzeydedir ve diziyi Sum yönteminin üzerinde çalışabileceği genel bir listeye dönüştürmeyi içerir.
Çözüm
Bu PowerShell eğitiminde, çeşitli yöntemleri kullanarak PowerShell'de bir dizideki tüm sayıların nasıl toplanacağını açıkladım:
- ForEach Döngüsü Kullanmak
- Measure-Object Cmdlet'ini Kullanma
- ForEach-Object Cmdlet'ini Kullanma
- Dizi Biriktirmeyi Kullanma
- Linq'i kullanma
