সি # ইউনিটে কি আলাদা?


18

ইউনিটি কি সি # এর আলাদা সংস্করণ ব্যবহার করে, বা সব কি এক রকম? এটি নিয়মিত সি # থেকে আলাদা দেখায় তবে সেখানে কিছু নিয়মিত সি # উপাদান রয়েছে।


4
কি পার্থক্য আপনি দেখতে পাচ্ছেন?
আনকো

আপনি যে পরিবর্তনগুলি উল্লেখ করছেন তা সন্দেহ করি কাঠামোর পার্থক্য এবং সি # ভাষা নয়। ইউনিটি 3 ডি তে আপনি। নেট ফ্রেমওয়ার্ক (ভায়ো মনো) এবং ইউনিটি নির্দিষ্ট কাঠামোর উপাদানগুলি সি # ভাষার সাথে ব্যবহার করছেন।
মাইক বি

এটি কেবল একটি খুব পুরানো সংস্করণ। আপনি যদি সি # এবং মনো এর সর্বশেষতম সংস্করণটি চান এবং প্রাক-তৈরি ইঞ্জিনের স্ক্রিপ্ট না করে প্রোগ্রাম করতে চান, তবে monogame.net এর
ডেন

আমি গ্রন্থাগারের সামান্য পার্থক্য লক্ষ্য করেছি, উদাহরণস্বরূপ ইউনিটিতে গণিত ফাংশনগুলির জন্য ম্যাথ ক্লাসের পরিবর্তে ম্যাথ ক্লাস রয়েছে। অন্যান্য মতপার্থক্য থাকলে আমি মনোযোগ দিই নি, তবে এটিই দাঁড়িয়েছিল।
অ্যালেক্স

@Alex System.Math এখনও পাওয়া যায়, এবং দৃশ্যত আসলে দ্রুততর চেয়ে UnityEngine.Mathf । সুতরাং ityক্য সংস্করণটি ব্যবহারের একমাত্র আসল কারণ হ'ল প্রচুর (ভাসমান) ক্যাসট এড়ানো .. কিছু পারফরম্যান্সের ব্যয়ে।
ফ্লিন্টজএ

উত্তর:


9

অন্যান্য উত্তরে বর্ণিত হিসাবে ইউনিটি x.০ মনো -২.6 এর উপর ভিত্তি করে মনোর পরিবর্তিত সংস্করণ ব্যবহার করে

বেশিরভাগ ক্ষেত্রে, এটি নেট নেট ২.০ এর সাথে সামঞ্জস্যপূর্ণ , যদিও আমি কোনও মনো ২.6 নির্দিষ্ট সামঞ্জস্যতার তালিকাটি সন্ধান করতে সক্ষম হই নি।

এটি নিয়মিত সি # থেকে আলাদা দেখায় তবে সেখানে কিছু নিয়মিত সি # উপাদান রয়েছে।

আপনার প্রশ্নের একটি মন্তব্যে যেমন উল্লেখ করা হয়েছে, এটি সম্ভবত Unক্যের নির্দিষ্ট স্ক্রিপ্টিং এপিআইয়ের কারণে ভাষাটি নয়।

উদাহরণস্বরূপ, একটি সাধারণ ইউনিটি প্রকল্পগুলিতে প্রচুর কোড মনো-বিহেভিয়ার নামে একটি শ্রেণির সাবক্লাসে থাকে। এটি এমন উপাদান যা ইউনিটি সম্পাদক পরিবেশের মধ্যে গেম অবজেক্টগুলিতে ফেলে দেওয়া হয়। এই আর্কিটেকচারটি সি # কোডের দিকে নিয়ে যায় যা বেশ কয়েকটি উপায়ে টিপিকাল সি # কোড (যাইহোক আমার কাছে) থেকে আলাদা দেখায়:

  • ইউনিটি 4 প্রকাশিত হওয়া অবধি এই বস্তুগুলি নেমস্পেসে থাকতে পারে না, তাই এগুলি সর্বদা বিশ্বব্যাপী নেমস্পেসে থাকে
  • তারা ক্ষেত্রগুলি সম্পাদক পরিবেশে জনসাধারণের দ্বারা প্রকাশ করে (বা সিরিয়ালাইজফিল্ড বৈশিষ্ট্যটি ব্যবহার করে দেখায়, তবে আমি খুব কম লোকই এটি ব্যবহার করতে দেখি), যা ক্লাসে অস্বাভাবিক সংখ্যক পাবলিক ক্ষেত্রের দিকে পরিচালিত করে
  • Ityক্যের গোপনীয়তা এবং কেস কনভেনশনগুলি মাইক্রোসফ্টের অনুসরণ করে না, সুতরাং এটি "traditionalতিহ্যবাহী" সি # বিকাশকারীকেও আশ্চর্যজনক মনে হতে পারে
  • তারা এই উপাদানগুলিতে স্টার্ট এবং আপডেটের মতো বেশ কয়েকটি বিশেষ পদ্ধতি ব্যবহার করে যা সাধারণত প্রত্যাশা অনুযায়ী ওভাররাইড হয় না, পরিবর্তে প্রতিবিম্বের মাধ্যমে অ্যাক্সেস করা হয়।

ব্যবহারিকভাবে বলতে গেলে, ইউনিটির বর্তমান সি # সংস্করণে আমি সবচেয়ে বড় সি # ভাষার বৈশিষ্ট্যটি হারাচ্ছি এটি হ'ল এসিঙ্ক এবং সম্পর্কিত কীওয়ার্ড এবং কার্যকারিতা support ইউনিটিতে অনুরূপ ধারণাটি হ'ল কর্টাইনস । এগুলি মূল থ্রেডে কার্যকর হয় তাই আসল async নয়, তবে দীর্ঘ চলমান কোডটিকে একাধিক ফ্রেমের উপর ভেঙে ফেলার অনুমতি দেয় না। নিম্ন স্তরের মাল্টিথ্রেডিং এখনও সমর্থিত।


2
কেবল স্পষ্ট করে asyncবলার জন্য , সি # তেও বহু-থ্রেডের মতো সত্য অ্যাসিঙ্ক নয় - এটি মূল থ্রেডেও চলে। ব্যবহারের দৃষ্টিকোণ থেকে করাউটাইন এবং অ্যাসিঙ্কের মধ্যে সর্বাধিক পার্থক্যগুলি কোডটি চালানোর সময়।

ধন্যবাদ। হ্যা অ্যাসিঙ্ক! = মাল্টিথ্রেডেড, যদিও আমি বলব যে করটিইনগুলির সাথে একই কাজ করার চেয়ে মাল্টিথ্রেডেড অপারেশনগুলিকে আড়াল / ইন্টারঅ্যাক্ট করার জন্য অ্যাসিঙ্ক ব্যবহার করা আরও বেশি সাধারণ। আমি একটি মোড়কের কর্টিন লিখেছি যা থ্রেডপুলে ডেলিগেটের কাজগুলি বন্ধ করে দেয় যা আমাকে খুব অনুরূপ স্তরের নমনীয়তা দেয় তবে আমি এখনও "যথাযথ" অ্যাসিঙ্ক সমর্থন পাওয়ার ব্যাপারে কিছু মনে করব না। অবশ্যই একটি শালীন আধুনিক জিসি আরও ভাল হবে;)
ফ্লিন্টজএ

21

Ityক্য 4 ব্যবহার মোনো 2.6 , যা সি # ভাষা সহ .NET কাঠামোর সম্পূর্ণ বাস্তবায়ন।

এটি কীভাবে আলাদা দেখায় তা সম্পর্কে আমি নিশ্চিত নই, তবে মনে রাখবেন যে ityক্য বেশ কয়েকটি ভাষাকে সমর্থন করে, যার সবগুলি একই মনো রান রানটাইমের শীর্ষে কাজ করে। আপনি কি ইউনিটিস্ক্রিপ্ট দিয়ে সি # কে বিভ্রান্ত করছেন তা সম্ভব ?


10
যোগ করার জন্য, ভাষা বৈশিষ্ট্যগুলির ক্ষেত্রে মনোো 2.6 সি # 3.0 এর সমান। মনো 2.6.1 সি # 4.0 বৈশিষ্ট্য যুক্ত করতে শুরু করেছে।
কুপার

এখানে v4.1.2 হিসাবে ইউনিটির মনো সামঞ্জস্যের একটি সুন্দর ওভারভিউ
কেলি টমাস

: এটা মাত্র ছোটখাট কিন্তু একটি প্রধান সংস্করণ বৃদ্ধি না lags mono-project.com/Release_Notes_Mono_3.4
দী

3

ইউনিটি নিয়মিত সি # ব্যবহার করে।

তারপরে, আপনি যখন ইউনিটিতে সি # লিখবেন তখন আপনি তাদের প্রচুর গ্রন্থাগার ব্যবহার করবেন, তবে যতদূর আমি জানি, সি # তে সমস্ত কিছু সম্ভব listedক্যে সম্ভব, নীচে তালিকাভুক্ত পার্থক্য বাদে:

  • উইন্ডোজ ফর্ম এবং এএসপি সম্পর্কিত। নেট সম্পর্কিত আরও নির্দিষ্ট ক্ষেত্রগুলি ইউনিটির মাধ্যমে সীমাবদ্ধ নয়।

  • আপনি সম্পাদনা এবং সংকলন-সময় ত্রুটির জন্য ভিজ্যুয়াল স্টুডিওটি ব্যবহার করতে গিয়ে আপনাকে ইউনিটি আইডিই তৈরি করতে এবং চালাতে হবে।

  • ইউনিটি মনো ব্যবহার করে যা। নেট একটি ওপেন সোর্স বাস্তবায়ন, যার অর্থ সামান্য পার্থক্য রয়েছে।


আপনার দ্বিতীয় বুলেটটি প্রসারিত করতে - আপনি ইউনিটিভিএস ব্যবহার করে ভিজ্যুয়াল স্টুডিওতেও ডিবাগ করতে পারেন । মাইক্রোসফ্ট সম্প্রতি বিকাশকারীদের অধিগ্রহণ করেছে যাতে তারা অদূর ভবিষ্যতে প্লাগইনটি নিখরচায় প্রকাশ করবে।
mrohlf

দুঃখিত তবে এটি নিয়মিত সি # এর কাছাকাছি নেই।
আল্পার

0

ইউনিটির ব্যবহৃত সি # সংস্করণ "নিয়মিত" সি # থেকে আলাদা কিনা এই প্রশ্নের উত্তর অন্যান্য পোস্টের দ্বারা দেওয়া হয়েছে। যেহেতু আপনি স্পষ্টভাবে নির্দিষ্ট উপাদানগুলির জন্য জিজ্ঞাসা করছেন যা এই জাতীয় নিয়মিত সংস্করণের চেয়ে পৃথক হতে পারে আমি কাজের ক্ষেত্রে আমি যে # সি ব্যবহার করি (যেমন ভিজ্যুয়াল স্টুডিও ২০১০ এবং এর চেয়ে উচ্চতর) এবং সি # ইউনিটিতে যা আমি তুলনামূলকভাবে লক্ষ্য করেছি কেবলমাত্র সেই সামান্য পার্থক্যটিই ভাগ করব which ফাংশন সংজ্ঞাতে পরামিতিগুলির জন্য আমি ডিফল্ট মানগুলি ব্যবহার করতে পারি না। এটি হ'ল সি # এর আরও নতুন সংস্করণটি ব্যবহার করার জন্য আপনাকে আপনার প্রকল্পটি আরও যত্ন সহকারে সেট আপ করতে হবে। আরও ব্যাখ্যার জন্য এই লিঙ্কটি দেখুন ।

সম্পাদনা: আমি এই উত্তরটি ছেড়ে দিয়েছি যতদূর আমি জানি এটি একটি ভুল বোঝাবুঝি যা অনেক লোকের সাথে ঘটে।


যেহেতু feature.০ সংস্করণে এই বৈশিষ্ট্যটি কেবলমাত্র সি # তে যুক্ত করা হয়েছিল এবং এর আগে উপস্থিত ছিল না, এর অনুপস্থিতি সত্যই "সি #" তে "পার্থক্য" বলা যায় না।
বা ম্যাপার

1
সি # সংস্করণ 4 ২০১০ সালে প্রকাশিত হয়েছিল। আমি মনে করি যে peopleক্যে প্রোগ্রামিংয়ের সময় অনেক লোক এটি ব্যবহার করছে এবং আমার মতো অনুভব করে।
নেসুনো

আপনি কি নিশ্চিত যে আপনি ডিফল্ট মান ব্যবহার করতে পারবেন না? আমি বেশ নিশ্চিত যে আমি করেছি এবং করেছি ...
NPSF3000

আমি চেষ্টা করেছি এবং এটি একটি বার্তা সংকলন করবে না যে আমাকে বলছে যে আমি ডিফল্ট মান ব্যবহার করতে পারি না। আপনি কি ইউনিটির বিশেষ সংস্করণ ব্যবহার করছেন? প্রো সংস্করণ পছন্দ?
নেসুনো

1
আপনি একেবারে ডিফল্ট মানগুলি ব্যবহার করতে পারেন এবং এটি প্রো বা নন-প্রো-এর সাথে করার কিছুই নেই। Ityক্য এবং মনোডেল্পের মধ্যে একটি অদ্ভুত সম্পর্ক রয়েছে। মনো-ডেভেলপতে স্বয়ংক্রিয়ভাবে উত্পাদিত প্রকল্পগুলি প্রায়শই সি # এর পূর্ববর্তী সংস্করণগুলিতে সেট করা থাকে যা ডিফল্ট মানগুলিকে সমর্থন করে না। তবে আপনি যদি প্রকল্পের সেটিংটি পরিবর্তন করেন তবে এটি ঠিক কাজ করবে। আপনি যদি MonoDevelop- এ সংকলন উপেক্ষা করে এবং কেবল ityক্যতে ফিরে যান তবে আপনি লক্ষ করবেন যে ইউনিটি ডিফল্ট পরামিতিগুলির বিষয়ে অভিযোগ করে না।
মিঃ ক্র্যাঙ্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.