मैं क्यों निम्नलिखित होती है, तो आपके पाससंदर्भित Powershell सरणी सूचकांक अप्रत्याशित परिणाम जब स्ट्रिंग
$arr = @("Filename1", "Filename2")
for($i =0; $i -le $arr.Length -1; $i++) {
write-host ".\"$arr[$i]
write-host ".\$arr[$i]"
write-host $arr[$i]
}
तो सिर्फ एक पाश लेने के माध्यम से पैदा करता है पता लगाने के लिए कोशिश कर रहा हूँ के साथ संदर्भित कर देता है:
".\ Filename1"
".\ Filename1 Filename2[0]"
"Filename1"
सरणी [इंडेक्स] का संदर्भ देने से सही मूल्य उत्पन्न होगा, लेकिन यदि मैं स्ट्रिंग के साथ संयोजित हूं तो यह स्ट्रिंग और मान के बीच एक स्थान रखता है। जब स्ट्रिंग के भीतर रखा मैं यह सारी सामग्री को डंपिंग जाता है क्योंकि यह $ सरणी तो $ के मूल्यांकन मैं
साथ समाप्त मूल्यांकन कर रही है मान लेते हैं "। \ Filename1 filename2 [इंडेक्स नंबर]"
लेकिन अगर मैं व्यक्तिगत आवंटित एक अलग चर के लिए मूल्य और एक स्ट्रिंग के साथ इसे जोड़ना कोई जगह नहीं है? क्यों है:
उदाहरण:
$name = $arr[$i]
write-host ".\$name"
उत्पादन =
जो सही है "\ filename1।"।
write-host ".\$($arr[$i])"
इतना है कि यह सरणी अनुक्रमण के रूप में मूल्यांकन किया जाता है: