none
c#问题 RRS feed

  • 问题

  • 1,   下列语句string [,] strArray = new string [3][4],创建了多少个string对象?  求解释

    2,  在c#中,下列哪些语句可以创建一个具有3个初始值为“”的元素的字符串数组?  为什么呢

    A.strng StrList[3]("");         B.string[3]StrList={"","",""}

    C.string[]StrList={"","",""};  D.string[]StrList=new string[3];

     

     

    2012年2月2日 6:12

答案

  • 第二个问题,我觉得是C,但是答案是D项 。然后我再VS里测试还不出结果~~~   可以回答的详细一点么  。


    第二個問題答案應該是 C 吧?

    C 會创建一个具有3个初始值为“”的元素的字符串数组

    D 會创建一个具有3个初始值为 null 的元素的字符串数组

     


    歡迎參觀我的Blog.NET菜鳥自救會
    2012年2月2日 7:14
  • 第二個問題答案應該是 C 吧?

    C 會创建一个具有3个初始值为“”的元素的字符串数组

    D 會创建一个具有3个初始值为 null 的元素的字符串数组

    同意小欧的说法,我也粗心了。

    另外你的代码不对啊——注意黑色部分:

     StrList[i] = i .ToString();???

    楼主,你把i赋值给StrList干什么?你破坏了String.Empty了!

    删除这句话,然后重新编译运行,你每一个string元素输出是空白的。验证完毕!

    namespace A
    {
        class Program
        {
            static void Main(string[] args)
            {
                string[] StrList = { """""" };
                for (int i = 0i < StrList.Lengthi++)
                {
                    Console.WriteLine("element{0}是{1} "iStrList[i]);
                }
            }
        }
    }

     


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处



    2012年2月2日 7:37
    版主
  • 嗯嗯  。谢谢 ,我是初学者,很多需要注意的地方。不过直接把   string[] StrList = { """""" };换为 string[]StrList=new string[3];
    。执行结果是相同的  。 那就是初始值是null和初始值是“”,结果是一样的吧、?

    不是。

    null根本没有实例化。

    ""是一个内容,为空;已经被实例化了。

    你尝试:

    1)string s1=null;

    2)string s2="";

    然后调用ToString()方法就知道了,第一个抛出异常,第二个不会抛出异常的。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2012年2月2日 8:05
    版主

全部回复

  • dear

    这看起来好像作业题目的感觉,这些项目用VS测一下不就知道了吗??


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2012年2月2日 6:28
  • 这确实是c#从入门到经典的那本书上的习题,我是新手,不确定自己的想法是否正确,之前它给的答案也有错的  。所以想了解一下,求解释下 。

    2012年2月2日 6:37
  • dear

    若这是你自己想要知道的问题,建议你可以描述清楚一点,比如说提出你的看法,或是觉得书中所述让你迷惑之处,不应直接把书中题目抛出,这会让人觉得那是作业题;再者,按照书中题目在VS测试基本上也不难


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2012年2月2日 6:43
  • 第二个问题,我觉得是C,但是答案是D项 。然后我再VS里测试还不出结果~~~
    2012年2月2日 6:56
  • 第二个问题,我觉得是C,但是答案是D项 。然后我再VS里测试还不出结果~~~   可以回答的详细一点么  。
    2012年2月2日 7:07
  • 第二问:C也可以的啊。注意题目——哪些!可以多选哦。

    第一问:题目应该是——string[,]strArray=new string[3,4]吧?

    如果拿“string”对象是看成”已经实例化的角度而言,创建了12个;但是没有一个是实例化的。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年2月2日 7:10
    版主
  • 第二个问题,我觉得是C,但是答案是D项 。然后我再VS里测试还不出结果~~~   可以回答的详细一点么  。


    第二個問題答案應該是 C 吧?

    C 會创建一个具有3个初始值为“”的元素的字符串数组

    D 會创建一个具有3个初始值为 null 的元素的字符串数组

     


    歡迎參觀我的Blog.NET菜鳥自救會
    2012年2月2日 7:14
  • 我编入vs中代码如下 ,这样有问题吗 ?但是结果好像不对~~~~

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace testarray

    {
        class Program
        {
            static void Main(string[] args)
            {
                string[] StrList = { "", "", "" };
                for(int i=0;i<StrList.Length;i++)
                {

                    StrList[i] = i .ToString();
                    Console.WriteLine("element{0}是{1} ", i,StrList[i]);
                    Console.ReadKey();
                }
            }
        }
    }

    2012年2月2日 7:25
  • 第二個問題答案應該是 C 吧?

    C 會创建一个具有3个初始值为“”的元素的字符串数组

    D 會创建一个具有3个初始值为 null 的元素的字符串数组

    同意小欧的说法,我也粗心了。

    另外你的代码不对啊——注意黑色部分:

     StrList[i] = i .ToString();???

    楼主,你把i赋值给StrList干什么?你破坏了String.Empty了!

    删除这句话,然后重新编译运行,你每一个string元素输出是空白的。验证完毕!

    namespace A
    {
        class Program
        {
            static void Main(string[] args)
            {
                string[] StrList = { """""" };
                for (int i = 0i < StrList.Lengthi++)
                {
                    Console.WriteLine("element{0}是{1} "iStrList[i]);
                }
            }
        }
    }

     


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处



    2012年2月2日 7:37
    版主
  • 嗯嗯  。谢谢 ,我是初学者,很多需要注意的地方。不过直接把   string[] StrList = { """""" };换为 string[]StrList=new string[3];
    。执行结果是相同的  。 那就是初始值是null和初始值是“”,结果是一样的吧、?
    2012年2月2日 8:03
  • 嗯嗯  。谢谢 ,我是初学者,很多需要注意的地方。不过直接把   string[] StrList = { """""" };换为 string[]StrList=new string[3];
    。执行结果是相同的  。 那就是初始值是null和初始值是“”,结果是一样的吧、?

    不是。

    null根本没有实例化。

    ""是一个内容,为空;已经被实例化了。

    你尝试:

    1)string s1=null;

    2)string s2="";

    然后调用ToString()方法就知道了,第一个抛出异常,第二个不会抛出异常的。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2012年2月2日 8:05
    版主
  • 嗯  谢谢了。
    2012年2月2日 9:11
  • 嗯  谢谢了。

    不用谢!

    请把帮助的答案标记一下。

    同时希望多来论坛,帮助别人或者讨论技术!


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2012年2月2日 9:13
    版主
  • dear

    这样的讨论方式就是论坛成立的目的,也希望每个提问者能像楼主一样。

    透过讨论你挖掘了null与string.empty("")差异的问题,学到了书上没讲的事

    ^__^


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2012年2月2日 10:16
  • 嗯  谢谢了。
    小欧ou的答案也请标记一下,他毕竟直接回答了你问题,谢谢!
       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2012年2月3日 0:38
    版主