PDA

View Full Version : مشکل در پشته



adib_opensource
چهارشنبه 29 اسفند 1386, 15:04 عصر
با سلام
دستور Stack<int> st =new Stack<int> در سی شارپ یک پشته ایجاد می کند می خواستم ببینم چه جوری میشه اسم پشته را در یک textbox که وارد می کنیم به عنوان نام پشته در نظر بگیرد چون وفتی دستور را می نویسیم textbox مورد نظر را شناسایی نمی کند همچنین می خواستم نوع پشته را از طریق یک comboox مشخص کنم که باز همین مشکل بود

mohammad272005
پنج شنبه 01 فروردین 1387, 23:40 عصر
واضحه. اسم متغیر، اسم قسمتی از حافظه‌ست که نمیشه از هیچ طریقی تو run-time انتخابش کرد. شما باید از یه Dictionary استفاده کنید. اینطوری:
Dictionary<string, Stack<int>> stackDic = new Dictionary<string, Stack<int>>حالا میشه خیلی ساده مقادری رو از کاربر بگیری و مثلا با
Stack st = stackDic[textBox1.Text]دنبالش بگردی یا با
stackDic .Add("MyNewStack", new Stack<int>());یه stack جدید بسازی.