C# 初级-将str保存到数组中

C# 初级-将str保存到数组中,c#,arrays,string,C#,Arrays,String,嘿,伙计们,我真的需要你们的帮助 我尝试了一段时间来理解数组是如何工作的,并使用for循环来搜索数组内部,这似乎是可行的 我的第一个问题是,如何在这个程序的while循环中向数组添加内容 功能如下所示: 将字符串添加到数组中, 打印出整个阵列, 在数组内部搜索 感谢您的帮助 static void Main(string[] args) { bool isRunning = true; int menyVal; int Allitem =

嘿,伙计们,我真的需要你们的帮助

我尝试了一段时间来理解数组是如何工作的,并使用for循环来搜索数组内部,这似乎是可行的

我的第一个问题是,如何在这个程序的while循环中向数组添加内容

功能如下所示: 将字符串添加到数组中, 打印出整个阵列, 在数组内部搜索

感谢您的帮助

static void Main(string[] args)
    {
        bool isRunning = true;
        int menyVal;
        int Allitem = 5;
        string[] rygga = new string[Allitem];
        rygga[0] = "1";
        rygga[1] = "2";
        rygga[2] = "3";
        rygga[3] = "";
        rygga[4] = "";


        while (isRunning)

        {
            Console.WriteLine("\n\tVälkommen till ryggsäcken! vänligen välj ett av dessa val med en siffra.");

            Console.WriteLine("\t[1]Lägg till föremål / add item");
            Console.WriteLine("\t[2]Skriv ut innehållet/ print out all");
            Console.WriteLine("\t[3]Sök i ryggsäcken/ search in the array");
            Console.Write("\tVälj en siffra: / choose a number ");
            int menyval = Convert.ToInt32(Int32.TryParse(Console.ReadLine(), out menyVal));

            //Använda menyvalet med switch

            switch (menyVal)
            {

                case 1:
                    {

                        //Spara användarens föremål
                        Console.Write("skriv vad föremålet heter för att spara det i ryggsäcken: ");

                        break;
                    }
                case 2:
                    {
                        //visa vad som ligger sparat i ryggsäcken





                        break;
                    }

               case 3:
                    {
                        Console.WriteLine("Skriv in ett sökord : ");


                        string sökOrd = Console.ReadLine();
                        try
                        {
                            for (int i = 0; i < rygga.Length; i++)
                            {
                                if (rygga[i] == sökOrd)
                                    Console.WriteLine(rygga[i]);
                            }

                            Console.ReadLine();

                        }
                        catch
                        {

                            Console.WriteLine("Inget hittades! ");

                        }
                        break;
                    }
                default:
                    {

                        // med uppmaningen att skriva 0 - 4

                        Console.WriteLine("Du måste välja en siffra mellan 0-4!");



                        break;
                    }
            }
        }
    }
static void Main(字符串[]args)
{
bool isRunning=true;
国际货币基金组织;
int Allitem=5;
字符串[]rygga=新字符串[Allitem];
rygga[0]=“1”;
rygga[1]=“2”;
rygga[2]=“3”;
rygga[3]=“”;
rygga[4]=“”;
同时(正在运行)
{
Console.WriteLine(“\n\tVälkommen till ryggsäcken!vänligen välj ett av dessa val men siffra.”);
Console.WriteLine(“\t[1]Lägg直到föremåL/添加项”);
Console.WriteLine(“\t[2]Skriv ut innehållet/print out all”);
Console.WriteLine(\t[3]Sök i ryggsäcken/search in the array”);
Console.Write(“\tVälj en siffra:/choose a number”);
int menyval=Convert.ToInt32(Int32.TryParse(Console.ReadLine(),out menyval));
//Använda menyvalet med开关
开关(menyVal)
{
案例1:
{
//Spara användarens föremål
Console.Write(“skriv vad föremålet heter för att spara det i ryggsäcken:”);
打破
}
案例2:
{
//visa vad som ligger sparat i ryggsäcken
打破
}
案例3:
{
Console.WriteLine(“Skriv in ett sökord:”);
字符串sökOrd=Console.ReadLine();
尝试
{
for(int i=0;i
您的数组只能包含5个(Allitem)条目。您可以使用以下命令搜索数组中的下一个空条目:

int emptyindex = -1;
foreach(string s in rygga)
{
  if(s == "")
  {
    emptyIndex = Array.IndexOf(rygga,s);
    break;
  }
}

if(emptyindex >= 0)
{
  rygga[emptyindex] = //UserInput;
}
else
{
 //Inform that there is no more space to fill
 //Eventually you can overwrite index 0 then. Depends on what suits you better
}
如果您真的需要添加未知次数,那么数组就不是最好的选择。更好地使用

List<string> rygga = new List<string>();
rygga.Add(//UserInput);
编辑:

在这两种情况下(列表和数组),您只需执行以下操作:

foreach(string s in rygga)
{
  Console.WriteLine(s);
}

“我怎样才能在while中向数组中添加一些内容”那么,你尝试了什么?为什么需要while循环而不是for循环(因为数组的大小是已知的)?您可以通过索引将字符串分配给
string[]
rygga[0]=“foo”。但是你已经这样做了,所以问题很不清楚。数组实际上是一个固定大小的东西-因此,你有5个[3]和[4]为空,你已经展示了你知道如何将东西分配给数组,所以你可以这样做,如果你现在需要一个6大数组,列表将是一个更好的选择,callI会继续给你一个非常好的建议。不要用母语编写代码。在这种情况下,瑞典人。改用英语。为了你自己和别人。它使它更具语义和友好性。您不能向数组中添加内容,因为数组的大小是固定的。但是,您可以在数组中的给定位置更改elenet,甚至可以替换该项。如果您确实想添加或删除元素,最好使用
列表
。它还提供基于索引的访问(例如,
rygga[0]
),但允许动态调整内部数据结构的大小。如果我感到困惑,请原谅,我真的在尽可能地保持一致性。我希望用户能够在数组中保存一些内容,对于这个which语句中的第一种情况,我不知道应该使用什么来将字符串保存到数组中。我还想知道如何打印出阵列中当前保存的所有内容
foreach(string s in rygga)
{
  Console.WriteLine(s);
}