سؤال

هل من الممكن استخدام متغير ديناميكي (غير متأكد من التسمية) في C #؟

في PHP، أستطيع أن أفعل

$var_1 = "2";
$var_2 = "this is variable 2";

$test = ${"var_".$var_1};

echo $test;

output: this is variable 2;

هل يمكننا القيام بذلك في C #؟

هل كانت مفيدة؟

المحلول

في C #، أنت تستخدم قواميس لربط القيم مع سلاسل.

نصائح أخرى

لا، أساسا. لا يضمن التحويل البرمجي أن متغيرات الطريقة موجودة (في شكلها كما هو مكتوب)، أو مع أسماء ...

إذا كانت الحقول (مثيل أو ثابت)، فيمكنك استخدام الانعكاس للحصول على القيم؛ ولكن ليس طريقة المتغيرات. على ما تريد، ربما استخدام القاموس كبديل؟

var vars = new Dictionary<string,object>();
vars["var_1"] = "2";
vars["var_2"] = "this is variable 2";

Console.WriteLine(vars["var_" + vars["var_1"]]);

لست متأكدا مما إذا كان هذا يعمل مع المتغيرات المحلية (وعلى الأرجح أنه لا يتم تخزينه كهدوء كهارس)، ولكن يمكنك الوصول إلى خصائص الفصل من خلال التفكير.

إذا كان لديك var هو حقل فئة، ثم يمكنك استخدام الثابت GetField طريقة من الفصل Type للحصول على معلومات ميدانية، مثل قيمتها الحالية.

أنت لا تبحث عن صفائف بسيطة؟

string[] myArray = new string[2];

myArray[0] = "2";
myArray[1] = "this is variable 2"

القاموس الآخر هو الطريق للذهاب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top