मैं अपने प्रोग्राम में Array.Fill का उपयोग करने का प्रयास कर रहा हूं लेकिन मुझे यह कहते हुए एक त्रुटि मिल रही है कि Fill की कोई परिभाषा नहीं है। मैंने इस पोस्ट के शीर्षक में फ़ंक्शन का नाम छोड़ दिया है क्योंकि Array में कई फ़ंक्शन के लिए एक ही समस्या होती है। मुझे ऑनलाइन कई फ़ोरम पोस्ट मिलीं जहाँ लोगों को एक ही समस्या थी और उनके लिए समाधान using System; या using System.Linq; जोड़ना था, लेकिन मेरे पास पहले से ही ये दोनों हैं। मुझे संदेह है कि समस्या यह है कि मुझे किसी भी तरह से असेंबली System.Runtime.dll जोड़ने की ज़रूरत है जिसमें Array.Fill की परिभाषा है, लेकिन मैं मैक के लिए विजुअल स्टूडियो के साथ एकता का उपयोग कर रहा हूं और मुझे कोई रास्ता नहीं मिल रहा है किसी भी प्रोग्राम में असेंबली प्रबंधित करें। मैं कहीं भी एक परियोजना या समाधान फ़ाइल नहीं ढूंढ पा रहा हूं (मुझे विश्वास है कि वह वह जगह है जहां मैं एक असेंबली जोड़ूंगा)। यहाँ समस्या रेखा है:

Array.Fill<Vector4>(cross, Rot4.Cross(vs[0], vs[1], vs[2]));

क्या किसी के पास कोई विचार है कि मैं क्या कोशिश कर सकता हूं? मुझे लगता है कि मैं अपनी सरणी मैन्युअल रूप से भर सकता हूं, लेकिन मैं जानना चाहता हूं कि यह क्यों काम नहीं कर रहा है।

0
A. Kriegman 9 अगस्त 2020, 18:29

1 उत्तर

सबसे बढ़िया उत्तर

Array.Fill .NET मानक 2.0 में उपलब्ध नहीं है, लेकिन 2.1,

https://docs.microsoft.com/en-us/dotnet/api/system.array.fill?view=netcore-3.1

लेकिन एकता अभी तक .NET मानक 2.1 का समर्थन नहीं करती है, https://docs.unity3d .com/2020.1/Documentation/Manual/dotnetProfileSupport.html लेकिन 2.0।

तो आपके मामले में, आपको वर्कअराउंड का उपयोग करना होगा (जैसे कि सरणी को मैन्युअल रूप से भरना)।

4
Lex Li 9 अगस्त 2020, 15:36