আমি কীভাবে সি # তে একটি অ্যারের আকার (দৈর্ঘ্য / আইটেমের সংখ্যা) নির্ধারণ করতে পারি?
আমি কীভাবে সি # তে একটি অ্যারের আকার (দৈর্ঘ্য / আইটেমের সংখ্যা) নির্ধারণ করতে পারি?
উত্তর:
যদি এটি এক-মাত্রিক অ্যারে হয় a
,
a.Length
এর উপাদানগুলির সংখ্যা দেবে a
।
যদি b
একটি আয়তক্ষেত্রাকার বহু-মাত্রিক অ্যারে হয় (উদাহরণস্বরূপ, int[,] b = new int[3, 5];
)
b.Rank
মাত্রা (2) এবং প্রদান করবে
b.GetLength(dimensionIndex)
প্রদত্ত যে কোনও মাত্রার দৈর্ঘ্য পাবেন (মাত্রার জন্য 0-ভিত্তিক সূচক - সুতরাং b.GetLength(0)
3 এবং b.GetLength(1)
5)।
আরও তথ্যের জন্য সিস্টেম.আর্রে ডকুমেন্টেশন দেখুন ।
@ লুসেরো মন্তব্যগুলিতে যেমন উল্লেখ করেছেন, সেখানে একটি "জেগড অ্যারে" ধারণা রয়েছে যা সত্যই একক মাত্রিক অ্যারে (সাধারণত একক মাত্রিক) অ্যারে ছাড়া আর কিছুই নয়।
উদাহরণস্বরূপ, একজনের নিম্নলিখিত হতে পারে:
int[][] c = new int[3][];
c[0] = new int[] {1, 2, 3};
c[1] = new int[] {3, 14};
c[2] = new int[] {1, 1, 2, 3, 5, 8, 13};
মনে রাখবেন যে সমস্ত 3 সদস্যের c
দৈর্ঘ্য আলাদা। এই ক্ষেত্রে, আগের মত c.Length
উপাদানের সংখ্যা ইঙ্গিত হবে c
, (3) এবং c[0].Length
, c[1].Length
এবং c[2].Length
3, 2, এবং 7, যথাক্রমে হবে।
int[][]
) ;-) তালিকাভুক্ত করতে পারতেন
[,]
এবং এর মধ্যে পার্থক্য [][]
স্পষ্ট বলে মনে হচ্ছে না, সুতরাং এটি এখনও মনে রাখা উপযুক্ত যে [][]
এটি আপনার উত্তরগুলির অর্থে কোনও বহুমাত্রিক অ্যারে নয়।
b.GetLength[0] is 3 and b.GetLength[1] is 5
হবে b.GetLength(0) and b.GetLength(1)
।
আপনি এই প্রশ্নের উত্তর খুঁজতে অ্যারের জন্য ডকুমেন্টেশনগুলি দেখতে পারেন ।
এই বিশেষ ক্ষেত্রে আপনার সম্ভবত দৈর্ঘ্য প্রয়োজন :
int sizeOfArray = array.Length;
তবে যেহেতু এটি এমন একটি প্রাথমিক প্রশ্ন এবং আপনার সন্দেহের উত্তর নেই, কেবল উত্তরটি বলার চেয়ে বরং উত্তরটি কীভাবে নিজেকে খুঁজে বের করতে হবে তা বলার অপেক্ষা রাখে।
ভিজ্যুয়াল স্টুডিও ইন্টেলিসেন্স
আপনি যখন কোনও ভেরিয়েবলের নাম টাইপ করেন এবং .
কী টিপলে এটি আপনাকে সেই অবজেক্টে উপলব্ধ সমস্ত পদ্ধতি, বৈশিষ্ট্য, ইভেন্ট ইত্যাদির একটি তালিকা প্রদর্শন করে। আপনি যখন কোনও সদস্যকে হাইলাইট করেন তখন এটি আপনাকে কী করবে তার একটি সংক্ষিপ্ত বিবরণ দেয়।
এফ 1 টিপুন
আপনি যদি এমন কোনও পদ্ধতি বা সম্পত্তি খুঁজে পান যা আপনি যা চান তা করতে পারে তবে আপনি নিশ্চিত নন, আপনি এটির উপরে কার্সারটি সরাতে পারেন এবং সহায়তা পেতে F1 টিপুন। এখানে আপনি আরও বিস্তারিত বিবরণ এবং সম্পর্কিত তথ্যের লিঙ্কগুলি পাবেন।
অনুসন্ধান করুন
অনুসন্ধানের পদগুলি size of array in C#
অনেকগুলি লিঙ্ক দেয় যা আপনাকে আপনার প্রশ্নের উত্তর এবং আরও অনেক কিছু বলে। একজন প্রোগ্রামারকে শিখতে থাকা সবচেয়ে গুরুত্বপূর্ণ দক্ষতার মধ্যে একটি হল কীভাবে তথ্য সন্ধান করা যায়। উত্তরটি নিজেকে খুঁজে পাওয়া প্রায়শই দ্রুত হয়, বিশেষত যদি একই প্রশ্ন আগে জিজ্ঞাসা করা হয়েছিল।
একটি টিউটোরিয়াল ব্যবহার করুন
আপনি যদি কেবল সি # শিখতে শুরু করেন তবে টিউটোরিয়ালটি অনুসরণ করা আপনার পক্ষে আরও সহজ হবে। আমি এমএসডিএন-তে সি # টিউটোরিয়ালগুলির সুপারিশ করতে পারি । আপনি যদি একটি বই চান, আমি প্রয়োজনীয় সি # সুপারিশ করব ।
স্ট্যাক ওভারফ্লো
যদি আপনি নিজে থেকে উত্তরটি সন্ধান করতে না পারেন তবে স্ট্যাক ওভারফ্লোতে প্রশ্নটি নির্দ্বিধায় পোস্ট করুন তবে আপনি এটির প্রশংসা করি যদি আপনি দেখান যে আপনি নিজেরাই উত্তরটি আগে সন্ধানের চেষ্টা করেছেন।
1 মাত্রিক অ্যারে জন্য
int[] listItems = new int[] {2,4,8};
int length = listItems.Length;
বহুমাত্রিক অ্যারে জন্য
int length = listItems.Rank;
1 মাত্রার আকার পেতে To
int length = listItems.GetLength(0);
Rank
সম্পত্তি আইটেম সংখ্যা ফেরত দেয় না, এটা মাত্রা সংখ্যার উল্লেখ করে।
Length
, Rank
, GetLength
)
yourArray.Length
:)
এটি এর মতো হয়: 1 ডি:
type[] name=new type[size] //or =new type[]{.....elements...}
2 ডি:
type[][]name=new type[size][] //second brackets are emtpy
তারপরে আপনি যেমন এই অ্যারে ব্যবহার করবেন:
name[i]=new type[size_of_sec.Dim]
অথবা আপনি ম্যাট্রিক্সের মতো কিছু ঘোষণা করতে পারেন
type[ , ] name=new type [size1,size2]
এখন পর্যন্ত যা মিস করা হয়েছে তা হঠাৎ আমি বিরক্ত হয়ে পড়েছিলাম:
অ্যারের ভিতরে থাকা আইটেমগুলির পরিমাণ আমি কীভাবে জানব? কি .Length
সমান .Count
তালিকার?
উত্তরটি হ'ল এক্স টাইপের আইটেমগুলির পরিমাণ যা আপনার সাথে তৈরি এক্স টাইপের অ্যারেতে new X[number]
ফেলেছে তা নিজেকে বহন করতে হবে !
যেমন একটি কাউন্টার ব্যবহার করে : int countItemsInArray = 0
এবং countItemsInArray++
আপনার অ্যারে প্রতিটি অ্যাসাইনমেন্টের জন্য।
(সবেমাত্র তৈরি করা অ্যারেতে ইতিমধ্যে বরাদ্দ করা প্রকারের আইটেমগুলির new X[number]
জন্য সমস্ত number
রেফারেন্স (রেফারেন্স) রয়েছে, আপনি প্রথম অ্যাসাইনমেন্ট হিসাবে কোনও স্থানের ভিতরে নির্ধারণ করতে পারেন, উদাহরণস্বরূপ (যদিnumber
= 100 এবং ভেরিয়েবলের নাম = a
)a[50] = new X();
।
আমি জানি না যে সি # তৈরির সময় অ্যারের অভ্যন্তরের প্রতিটি জায়গার প্রাথমিক মান নির্দিষ্ট করে কিনা, যদি তা না হয় বা প্রাথমিক মান আপনি তুলনা করতে না পারেন (কারণ এটি এমন একটি মান হতে পারে যা আপনি নিজেরাই অ্যারেতে রেখেছিলেন), আপনি আপনি যদি ক্রমানুসারে শুরু করে নিরীক্ষণ না করেন তবে আপনাকে ইতিমধ্যে নির্ধারিত অ্যারের ভিতরে কোন স্থানগুলি ট্র্যাক করতে হবে 0
(যে ক্ষেত্রে সমস্ত স্থানের চেয়ে ছোটcountItemsInArray
নির্ধারিত হবে তার ))
আপনার বিকল্প অ্যারে (দৈর্ঘ্য / আইটেমের সংখ্যা) এর উপর নির্ভর করে / "বিকল্প" বা "বিভাজন" হয়ে দাঁড়াতে হবে কিনা তার উপর নির্ভর করে যেটি এখনও আবরণ করতে হবে ("আইটেমের সংখ্যা" আমি সবেমাত্র দিয়েছি " আইটেমের পরিমাণ "এবং অন্যেরা .Length
এর মানটির সাথে মিলে যায়number
আমার কোডের উপরের কোডের সাথে মিলে যায়):
সি # এর একটি sizeof
অপারেটর রয়েছে ( https://docs.microsoft.com/en-us/dotnet/csharp/language-references/operators/sizeof )। অন্তর্নির্মিত প্রকারের জন্য ব্যবহার করা নিরাপদ (যেমন int) (এবং কেবল প্রকারভেদে চালিত হয় (ভেরিয়েবল নয়))। সুতরাং বাইটে b
টাইপের একটি অ্যারের আকার int
হবে b.Length * sizeof(int)
।
(ইতিমধ্যে উপরে বর্ণিত যেমন অ্যারেটির সমস্ত স্থান ইতিমধ্যে বরাদ্দ করা হয়েছে এবং sizeof
কেবল ধরণের ক্ষেত্রে কাজ করার কারণে, কোনও কোড পছন্দ করে sizeof(variable)/sizeof(type)
না বা ট্র্যাকিং ছাড়াই আইটেমের পরিমাণ উপার্জন করতে পারে না))