用字符串填充数组,我不知道它是如何工作的;(c#

Fill an Array with a String, i doknt no how it works ;( c#

提问人:Geist64 提问时间:11/2/2023 更新时间:11/3/2023 访问量:50

问:

namespace For_Schleife
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Gib eine Zahl ein");
            // Eingabe Mensch
            string meineEingabe = Console.ReadLine();
            // String erstellen
            { foreach (meineEingabe)
                    Console.WriteLine(meineEingabe[1].GetType());
                Console.WriteLine($"ascii {meineEingabe[1] + 1}");

                char meineVariable = meineEingabe[1];


                if (meineVariable >= 48 & meineVariable <= 57)
                    Console.WriteLine("Ziffer");

                int meineZiffer = int.Parse(zeichen.ToString());
                meinZahlenArray[i] = meineZiffer; 
            }

            else
                Console.WriteLine("irgendetwas");

            int[] meinZahlenArray = new int[meineEingabe.Length];

            for (int i = 0; i < meinZahlenArray.Length; i++)
            {

                int[] meinZahlenArray = new int[] {};
                int sum = 0;
                for (int i = 0; i < meinZahlenArray.Length; i++)

                {
                    sum = sum + meinZahlenArray[i];


                } 
            }
            Console.WriteLine(sum); 
            

            Console.ReadKey();

        }



    }
}

你好 我不知道如何成为 ReadLine 输入

string meineEingabe = Console.ReadLine();

进入这个

int[] meinZahlenArray = new int[] {};

有人可以帮我提供提示,我尝试在我学习过程的早期状态上学习这个 IAM。

谢谢建议!

我复制了这一行

int meineZiffer = int.Parse(zeichen.ToString());
                meinZahlenArray[i] = meineZiffer; 
            }

从聊天 gpt 到这个代码,但我不知道变量“zeichen”是什么

方法。

C# 分析

评论

1赞 Robert Harvey 11/2/2023
int.Parse正是你想要的。阿恩。阅读文档,并编写一个适当的循环。 需要为数组中的每个项目调用。int.TryParseParse()
0赞 Mathias R. Jessen 11/2/2023
所以你会想要(或int meineZiffer = int.Parse(meineEingabe)int.TryParse(meineEingabe, out int meineZiffer))
1赞 Orion 11/2/2023
我们可以粗略地猜到你想做什么,但用英语编写代码会很有帮助。
0赞 Geist64 11/5/2023
谢谢这很有帮助,关于堆栈溢出的第一篇文章和第一个严肃的问题。

答:

0赞 Enigmativity 11/2/2023 #1

如果我明白你想做什么,那么这应该对你有用。

static void Main(string[] args)
{
    Console.WriteLine("Gib eine Zahl ein");
    
    string meineEingabe = Console.ReadLine();
    
    if (int.TryParse(meineEingabe, out int _))
    {
        int[] meinZahlenArray = meineEingabe.Select(x => x - '0').ToArray();
        int sum = meinZahlenArray.Sum();
        Console.WriteLine(sum);
    }
    
    Console.ReadLine();
}
0赞 Idle_Mind 11/3/2023 #2

目前尚不清楚输入是否必须只是一个有效的数字,或者是否只想提取字符串中的数字。

以下是处理后者的一种方法:

Console.WriteLine("Gib eine Zahl ein");    
String meineEingabe = Console.ReadLine();
List<int> digits = new List<int>();
foreach(Char c in meineEingabe) {
  if (Char.IsDigit(c)) {
    int i = (int)Char.GetNumericValue(c);
    digits.Add(i);
  }
}
int[] meinZahlenArray = digits.ToArray();
// ... do something with "meinZahlenArray" ...
for(int i=0; i<meinZahlenArray.Length; i++) {
  Console.WriteLine(meinZahlenArray[i]);
}

示例运行:

Gib eine Zahl ein
cat123dog456fish789lizard
1
2
3
4
5
6
7
8
9