سلام
مشکل شما این است که در #C تفکرات C++Native دارید.
#C تحت دات نت است و همه چیزش از قبل معلوم و مشخص است و مثل C++Native به اون حد باز نیست که مثلاً آرایه را صرفاً بلوکی از حافظه در نظر بگیرید و حتی بعضاً تجاورز از حدود ان بدون مشکل انجام شود.
آرایه ها در دات نت نمونه ای از کلاسس System.Array هستند و کاملاً مدیریت شده و مستحکم هستند.
مثلاً در مورد آرایه شما، matn.Rank تعداد ابعاد آرایه را پس میدهد و یا matn.Length تعداد اعضای آرایه را بر میگرداند، در محیط VS یک نقطه بزنید تا لیست خواص و متدهای آرایه تان ظاهر شود.
پس برای تشخیص طول آرایه میتوانید از matn.Length استفاده کنید.
ولی در مورد کد بهینه و #C تر!
در مورد الگوریتم تان اگر درست متوجه شده باشم سه کاراکتر فاصله و ; و : یک اولویت دارند و باید با رسیدن به هر یک اینها اسکن تمام شود؟
برای آشنایی بیشتر دو نمونه کد میگذارم
(
اضافه کردن به نمونه string ای مثل temp شما صحیح است ولی دات نت را مجبور به کارهای اضافه میکنید که اگر قرار است به تعداد زیاد و مدام و در حلقه این اضافه شدن انجام شود، کلاسس StringBuilder سریعتر جواب میدهد و بهینه تر است.
)
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و این کد دوم:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید