加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 字段’xxx’永远不会被赋值,并且将始终具有其默认值null

发布时间:2020-12-16 00:23:44 所属栏目:百科 来源:网络整理
导读:我的错误: ???字段’StockManagement.LargeItems1.largeS’永远不会被赋值,并且将始终具有其默认值null 我的代码: namespace StockManagement{ class LargeItems1 { private Stackstring largeS; public LargeItems1() { Stackstring largeS = new Stackst
我的错误:
???字段’StockManagement.LargeItems1.largeS’永远不会被赋值,并且将始终具有其默认值null
我的代码:

namespace StockManagement
{
    class LargeItems1
    {
        private Stack<string> largeS;

         public LargeItems1()
        {
            Stack<string> largeS = new Stack<string>();
        }
        public void LargeItemsAdd()
        {
            string usersInput2,tempValue;
            int tempValueI = 0;
            bool attempt = false;//,whichOne = false;
            Console.WriteLine("Would you like to remove or add an item to the storage area n Reply add OR remove");
            string usersInput = Console.ReadLine();
            usersInput = usersInput.ToLower();

            if (usersInput.Contains("remove"))
            {
                LargeItemsRemove(largeS);
                return;
            }
            else if (usersInput.Contains("add"))
            {

                Console.WriteLine("Please input (numerically) how many IDs you'd like to add");
                tempValue = Console.ReadLine();
                attempt = int.TryParse(tempValue,out tempValueI);
                while (!attempt)
                {
                    Console.WriteLine("Please input (numerically) how many IDs you'd like to add,you did not input a numeric value last time");
                    tempValue = Console.ReadLine();
                    attempt = int.TryParse(tempValue,out tempValueI);
                }
                for (int i = 0; i < tempValueI; i++)
                {

                    Console.WriteLine("Please input the ID's (one at a time) of the item you would like to add");
                    usersInput2 = Console.ReadLine();
                    if (largeS.Contains(usersInput2))
                    {
                        Console.WriteLine("That ID has already been stored");
                    }
                    else
                    {
                        largeS.Push(usersInput2);
                    }
                }
                foreach (var item in largeS)
                {
                    Console.WriteLine("Current (large) item ID's: " + item);
                }
            }

        }
        public void LargeItemsRemove(Stack<string> largeS)
        {
            if (largeS.Contains(null))
            {
                Console.WriteLine("No IDs stored");
            }
            else
            {

                string popped = largeS.Pop();
                foreach (var item in largeS)
                {
                    Console.WriteLine("Pop: " + item);
                }
                Console.WriteLine("Removed ID = " + popped);
            }
        }

    }
}

我不明白如何将我的值分配给实例.我很感激可以提供任何帮助!

解决方法

更改构造函数以初始化字段而不是局部变量:

public LargeItems1()
{
    this.largeS = new Stack<string>();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读