সি # তে আপনি নামের সাথে একটি মান টুপলে একটি উপাধি সংজ্ঞা দিতে পারেন?


92

আমি জানি কী ব্যবহার করে কীওয়ার্ড দিয়ে সি # তে এলিয়াস সংজ্ঞা দেওয়া সম্ভব ।

যেমন

using ResponseKey = System.ValueTuple<System.Guid, string, string>;

তবে, মান টিউপসগুলির জন্য নতুন সিনট্যাক্স ব্যবহার করে কোনওটিকে সংজ্ঞায়িত করা সম্ভব?

using ResponseKey = (Guid venueId, string contentId, string answer);

এই সিনট্যাক্সটি কাজ করে না। এটি করা উচিত?


4
আমি উত্তরটি জানি না, তবে এটি দেখতে অনেকটা দেখতে "মডিউল-স্তরে ভেরিয়েবল সংজ্ঞায়িত করতে আমি ভার ব্যবহার করতে পারি?"
মারিও ভার্নারি

যদি এটি সংকলন করে না তার অর্থ এটি কাজ করা উচিত নয়
সেলম্যান জেনের

4
আমি উত্তরটি জানি না, তবে মনে হচ্ছে সেই উদ্দেশ্যে কোনও শ্রেণি বা কাঠামো তৈরি করা ভাল। টিপলস ভাল, তবে দয়া করে এটি অতিরিক্ত ব্যবহার করবেন না।
ইয়েলদার কুরমঙ্গালিয়েভ

4
মন্তব্যটি আগ্রহী @ ইয়েলদারকুরমঙ্গালিয়েভ। এটি ব্যবহার করার কারণ হ'ল কোনও বস্তুর জন্য সাধারণ কী হিসাবে ব্যবহার করার জন্য সমস্ত তুলনামূলক ইন্টারফেস প্রয়োগ করতে হবে না। হ্যাঁ, এটি আমার অলস হয়ে উঠছে তবে ভাষা বৈশিষ্ট্যগুলিও তাদের পুরোপুরি ব্যবহার করছে।
নিক র‌্যান্ডেল

4
@ নিকরানডেল - বেশিরভাগ সময় আপনি লোকের জন্য সফ্টওয়্যার লেখেন (অন্যান্য বিকাশকারী) - তারা আপনার কোডটি পড়বে। বর্ণনামূলক নাম সহ একটি শ্রেণি এবং বৈশিষ্ট্য থাকা - আরও বন্ধুত্বপূর্ণ / কার্যকর পদ্ধতির। প্রোগ্রামাররা বর্ণনামূলক নাম এবং ডেটা স্ট্রাকচার পড়ার কোড (নিজের এবং অন্যান্য) পড়ার জন্য বেশিরভাগ সময় ব্যয় করে
ফ্যাবিও

উত্তর:


67

এটি অনুরোধ করা হয়েছে, এবং গিথুবের রোজলিন রেপোতে রেকর্ড করা হয়েছে । তবে এটি সেখানে একটি মিশ্র সংবর্ধনা পেয়েছে এবং প্রস্তাবিত রেকর্ড প্রকারগুলি এই প্রয়োজনীয়তার চেয়ে বেশি হবে।

বিষয়টি রোজলিন রেপোতে বন্ধ ছিল কিন্তু এখন সি # ভাষার রেপোতে ট্র্যাক করা হচ্ছে


1

usingহিসাবে সংজ্ঞায়িত করা হয়: ( এমএসডিএন )।using identifier = namespace-or-type-name;

(Guid venueId, string contentId, string answer) নামের স্থান বা কোনও (পুরোপুরি যোগ্য) টাইপের নাম নয়।

তবে আমি বেশিরভাগ অনুমান করছি। এমনকি সচেতন ছিল না সি # 7.0 এখনও অবধি বিদ্যমান।


4
এটি সি # 1.1 এর জন্য অনুমান, এটি কীভাবে সি # 7.0 সম্পর্কে কিছু প্রমাণ করে?
সোভিক

4
আমি বুঝতে পারি যে এটি কীভাবে কাজ করবে তা থেকেই আসে। একই তৈরি করতে পারে তবে এটি সঠিক নয়। ব্যবহার করা কোনও প্রকারের জন্য একটি উপনাম নয়। তবে একটি প্রকারের নাম বা নেমস্পেসের নামের জন্য। এবং সংকলক সম্পর্কিত বৈশিষ্ট্যগুলি বিদ্যমান কোডটি ভঙ্গ না করে আপনি পরিবর্তন করতে পারেন এমন শেষ জিনিসটি রয়েছে। সুতরাং তারা প্রস্তাবটি এটি প্রসারিত করতে পারে না। তবে উপরের ডেভিড আরনোর পোস্টে সেগুলি যথেষ্ট উন্নততরভাবে ব্যাখ্যা করা হয়েছে। যেটি আমি উত্সাহিত করেছি কারণ এটি আরও ভাল উত্তর দেয়। আপনার প্রশ্নের ধরণের একটি অ-ইস্যু তৈরি করা ...
ক্রিস্টোফার

4
@ এসভিক প্রশ্নটি ছিল যে এই নির্দিষ্ট সিনট্যাক্সটি "অনুমোদিত" হওয়া উচিত কিনা। "না, সি # বিকাশকারীগণ এই নির্দিষ্ট সিনট্যাক্সের অনুমতি দিতে বাধ্য নন, কারণ সি # এর প্রথম সংস্করণ থেকে অনুরূপ সিনট্যাক্সের অনুমতি দেওয়া হয়নি" এটি সঠিকভাবে উত্তর দেয়। বিস্তৃত প্রশ্ন হ'ল কোনও প্রকারের মত প্রকাশের অনুমতি দেওয়া উচিত কিনা using
IllidanS4 মনিকা

4
@ IllidanS4 যদি এই উত্তরটি বলে, তবে এটি সত্যই অস্পষ্ট। লিঙ্কযুক্ত স্পেকটি পুরানো বা আপনি যে যুক্তি দিয়েছেন তার কোনও অংশ উল্লেখ করে না।
এসভিক

4
@ খ্রিস্টোফার যদি আমার মনে হয় কোনও উত্তর খারাপ, তবে আমি এটিতে মন্তব্য করব। উত্তরটি কীভাবে দ্রুত লেখা হয়েছিল বা কী দাবি অস্বীকার করেছে তা আমার কাছে কিছু যায় আসে না। এবং যদি আপনি ভাবেন যে আপনার উত্তরটি কোনও মান যোগ করে না, এটি মুছতে ফি অনুভব করুন। এছাড়াও, আমি মনে করি লোকেরা এসও তে অবহিত উত্তরগুলি সন্ধান করতে আসে, তাই সম্ভবত একটি অজ্ঞাত উত্তর লেখার আগে আপনার কিছুটা চিন্তা করা উচিত?
এসভিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.