Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的数组故障_C#_Arrays_Enumeration - Fatal编程技术网

C# C语言中的数组故障

C# C语言中的数组故障,c#,arrays,enumeration,C#,Arrays,Enumeration,我试图显示数组的内容,但所发生的只是这个提示 我做错了什么?当您要打印阵列中的项目时,现在打印的是阵列本身 namespace ConsoleApp { class Program { static void Main(string[] args) { string[] values = { "This", "That", "The Other Thing" };

我试图显示数组的内容,但所发生的只是这个提示


我做错了什么?

当您要打印阵列中的项目时,现在打印的是阵列本身

namespace ConsoleApp
    {
        class Program
        {
            static void Main(string[] args)
            {
                string[] values = { "This", "That", "The Other Thing" };
                foreach (var item in values)
                {
                    Console.Clear();
                    Console.WriteLine(item);
                }
打印项目,而不是值:

如果要一次性打印整个数组,请使用string.Join:


深入剖析我们正在做的事情没有什么帮助:

object[] values = { "This", "That", "The Other Thing", 1, 2, 1.0f };
foreach (var item in values)
{
    Console.WriteLine($"I am printing `{item}` from `{values}` which is of type `{item.GetType()}`");
}
输出:


目前您正在做的是:

创建一个新数组。 在数组中存储字符串元素。 然后你要做两件事: 清理控制台。 将数组对象写入控制台而不是其元素。 重复第3点的次数等于数组中的元素数。因此,如果有5个元素,只需清除控制台,然后将数组对象写入控制台5次

更好的方法是:

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] values = { "This", "That", "The Other Thing" };
            Console.Clear();
            foreach (var item in values)
            {
                Console.WriteLine(item);
            }
namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] values = { "This", "That", "The Other Thing" };
            Console.Clear();
            for (int i = 0; i < values.Length; i++)
            {
                Console.WriteLine(values[i]);
            }
这将清除控制台,然后将数组中包含的每个字符串元素写入控制台窗口,每行一个元素

值得指出的是,一般来说,foreach循环在内存方面比for循环更昂贵。要使用for循环编写此代码,可以执行以下操作:

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] values = { "This", "That", "The Other Thing" };
            Console.Clear();
            foreach (var item in values)
            {
                Console.WriteLine(item);
            }
namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] values = { "This", "That", "The Other Thing" };
            Console.Clear();
            for (int i = 0; i < values.Length; i++)
            {
                Console.WriteLine(values[i]);
            }

整数“i”决定将打印哪个元素,因此在循环的每个周期中,下一个元素将被发送到控制台。

console.WriteLineitem;谢谢,我感谢你的帮助嘿,杰玛德尔,非常感谢你的详尽回答!我真的很感谢所有的信息以及链接。再次感谢
namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] values = { "This", "That", "The Other Thing" };
            Console.Clear();
            foreach (var item in values)
            {
                Console.WriteLine(item);
            }
namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] values = { "This", "That", "The Other Thing" };
            Console.Clear();
            for (int i = 0; i < values.Length; i++)
            {
                Console.WriteLine(values[i]);
            }