आधिकारिक के अनुसार दस्तावेज़ PowerShell में सरणियों के बारे में, सरणियों के लिए कई विधियाँ परिभाषित की गई हैं, उदाहरण के लिए Clear(), ForEach(), जहाँ(), आदि। निम्नलिखित कोड ने इन विधियों का परीक्षण किया:
$arr = 1..2
$arr.Clear()
$arr.Length
write "--------------------------------------------------"
$arr = 1..2
$arr.ForEach({$_ + 1})
write "--------------------------------------------------"
$arr = 65..90
$arr.Where({($_ % 2) -eq 0})
आउटपुट:
2
--------------------------------------------------
2
3
--------------------------------------------------
66
68
70
72
74
76
78
80
82
84
86
88
90
जुर्माना! और, ForEach () जैसी विधियों में कई अधिभार हैं जिनका परीक्षण यहां नहीं किया गया है।
लेकिन इन विधियों को कहाँ परिभाषित किया गया है? मेरा मतलब है, वह कौन सा वर्ग है जिसमें इन विधियों की परिभाषा है? जहाँ तक मुझे पता है, इन विधियों को .net core में परिभाषित नहीं किया गया है। (मैं पावरशेल 7 का उपयोग करता हूं)
3 जवाब
Clear()
, System.Array
द्वारा कार्यान्वित IList
इंटरफ़ेस का हिस्सा है, जो PowerShell में संग्रह (System.Object[]
) के लिए आधार प्रकार है।
उपलब्ध सभी मूल विधियों को देखने के लिए, उपयोग करें:
$arr.PSObject.Methods
# or
Get-Member -InputObject $arr -MemberType Methods
हालांकि: Where()
और ForEach()
"magic" विधियां v4 में पेश की गई थीं और वास्तव में PowerShell-विशिष्ट एक्सटेंशन विधियां हैं (ForEach-Object
और Where-Object
के अधिक प्रदर्शनकारी विकल्प के रूप में), परिभाषित System.Management.Automation.EnumerableOps
में। स्रोत:
internal static object Where(IEnumerator enumerator, ScriptBlock expressionSB, WhereOperatorSelectionMode selectionMode, int numberToReturn)
internal static object ForEach(IEnumerator enumerator, object expression, object[] arguments)
जहां तक मुझे पता है, इन विधियों को .net core में परिभाषित नहीं किया गया है, आप यह क्यों कहते हैं। (मैं पावरशेल 7 का उपयोग करता हूं) ? सचमुच:
$PSVersionTable.PSVersion | Out-Default
$arr = 1..2
$arr.GetType() | Get-Member -MemberType Methods -Static
Major Minor Patch PreReleaseLabel BuildLabel ----- ----- ----- --------------- ---------- 7 0 3 TypeName: System.Object[] Name MemberType Definition ---- ---------- ---------- AsReadOnly Method static System.Collections.ObjectModel.ReadOnlyCollection[T] … BinarySearch Method static int BinarySearch[T](T[] array, int index, int length,… Clear Method static void Clear(array array, int index, int length) ConstrainedCopy Method static void ConstrainedCopy(array sourceArray, int sourceInd… ConvertAll Method static TOutput[] ConvertAll[TInput, TOutput](TInput[] array,… Copy Method static void Copy(array sourceArray, array destinationArray, … CreateInstance Method static array CreateInstance(type elementType, int length), s… Empty Method static T[] Empty[T]() Equals Method static bool Equals(System.Object objA, System.Object objB) Exists Method static bool Exists[T](T[] array, System.Predicate[T] match) Fill Method static void Fill[T](T[] array, T value), static void Fill[T]… Find Method static T Find[T](T[] array, System.Predicate[T] match) FindAll Method static T[] FindAll[T](T[] array, System.Predicate[T] match) FindIndex Method static int FindIndex[T](T[] array, System.Predicate[T] match… FindLast Method static T FindLast[T](T[] array, System.Predicate[T] match) FindLastIndex Method static int FindLastIndex[T](T[] array, System.Predicate[T] m… ForEach Method static void ForEach[T](T[] array, System.Action[T] action) IndexOf Method static int IndexOf(array array, System.Object value), static… LastIndexOf Method static int LastIndexOf(array array, System.Object value), st… new Method System.Object[] new(int ) ReferenceEquals Method static bool ReferenceEquals(System.Object objA, System.Objec… Resize Method static void Resize[T]([ref] T[] array, int newSize) Reverse Method static void Reverse(array array), static void Reverse(array … Sort Method static void Sort(array array), static void Sort(array keys, … TrueForAll Method static bool TrueForAll[T](T[] array, System.Predicate[T] mat…
लेकिन इन विधियों को कहाँ परिभाषित किया गया है? मेरा मतलब है, वह कौन सा वर्ग है जिसमें इन विधियों की परिभाषा है?
$arr = @(1..10)
$arr.GetType()
का उपयोग करके इसका कार्यान्वयन प्रकार प्राप्त करें
जो देता है
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
यह ऐरे क्लास है .. आप नीचे दिए गए लिंक और इसके तरीकों में सरणी वर्ग के बारे में अधिक जानकारी प्राप्त कर सकते हैं:
https://docs.microsoft.com/en-us/dotnet/api/system.array?view=netcore-3.1
संबंधित सवाल
नए सवाल
arrays
एक सरणी एक आदेशित रैखिक डेटा संरचना है जिसमें तत्वों (मूल्यों, चर, या संदर्भों) का एक संग्रह होता है, प्रत्येक को एक या अधिक अनुक्रमित द्वारा पहचाना जाता है। जब सरणियों के विशिष्ट प्रकारों के बारे में पूछा जाता है, तो इसके बजाय इन संबंधित टैगों का उपयोग करें: [वेक्टर], [सरणी सूची], [मैट्रिक्स]। इस टैग का उपयोग करते समय, एक सवाल जो प्रोग्रामिंग भाषा के लिए विशिष्ट होता है, उस प्रश्न को उस प्रोग्रामिंग भाषा के साथ टैग करें जिसका उपयोग किया जा रहा है।