2 shenhuan111 shenhuan111 于 2014.12.11 22:08 提问

c#中数组可以直接部分赋值吗??int[] a=new int[5]={1,2}这样写报错

c#中数组可以直接部分赋值吗??int[] a=new int[5]={1,2}这样写报错,有什么方法可以实现,这样不行,有什么方法可以实现,c++中可以,C#却不行,头有点大,c++很多余C#不同

3个回答

caozhy
caozhy   Ds   Rxr 2014.12.11 22:53
已采纳

int[] a = new int[] { 1, 2 }.Concat(Enumerable.Repeat(0, 3)).ToArray();

shenhuan111
shenhuan111 嗯谢谢
大约 3 年之前 回复
caozhy
caozhy 另外你可以用List<int>这样可以随意增加/追加元素。
大约 3 年之前 回复
caozhy
caozhy 回复shenhuan111: 不指定大小,可直接写int[] a = new int[] { 1, 2 }或者int[] a = { 1, 2 }; 长度就是元素个数,不存在“部分”。
大约 3 年之前 回复
shenhuan111
shenhuan111 不能先定好数组大小,初始化部分值,C#没有函数可以实现??
大约 3 年之前 回复
caozhy
caozhyhttp://msdn.microsoft.com/zh-cn/library/bb302894(v=vs.110).aspx注意,查找FCL的函数一定要加上函数名,比如string和Enumerable都有concat方法。显然我写的是后者的。bing/msdn自己的查询不是很好用,一般用 "类名.函数名 msdn"去掉引号,直接在google里面找。
大约 3 年之前 回复
shenhuan111
shenhuan111 不能先定好数组大小,初始化部分值,C#没有函数可以实现吗,你给的这个数组大小还是没有固定的
大约 3 年之前 回复
shenhuan111
shenhuan111 我查concat 结果是这样的https://social.msdn.microsoft.com/Search/zh-CN/vstudio?query=Concat&Refinement=195&ac=4 不知道我的查方法对不对
大约 3 年之前 回复
caozhy
caozhy 再说FCL相当庞大,这也是C#好用的一个原因。常用函数,C#的重载形式非常丰富。而且C#的函数名、参数都非常有规律。C++的函数,比如itoa,没用过根本不知道是什么东西。C#的Convert.ToString,即便你不会编程,都能看懂。
大约 3 年之前 回复
caozhy
caozhy 回复shenhuan111: 和chm没有关系。那个只是文档格式。如果你希望下载离线的,可以在帮助-帮助管理器中下载。但是还是一样的格式。
大约 3 年之前 回复
caozhy
caozhy 回复shenhuan111: 本来就是全部列出来的啊
大约 3 年之前 回复
shenhuan111
shenhuan111 不是很直观,C#一个函数使用方法如果可以全列出来就好了,使用不是很方便啦,不知道是不是没用习惯,如果有chm哪种的帮助文档C#函数列出来就好了
大约 3 年之前 回复
caozhy
caozhy 回复shenhuan111: 就是查MSDN。另外就是查Google,我是说通过Google去定位MSDN。不知道你说MSDN麻烦在哪里。
大约 3 年之前 回复
shenhuan111
shenhuan111 回复caozhy: 呵呵,C#不像C++那样有帮助文档,而且C++的帮助文档简单明了,msdn太麻烦了,而且c#不是很明白的,特别难,C#有什么帮助文档比较好用吗??
大约 3 年之前 回复
caozhy
caozhy 就是用你的数组连上一个包含空元素的剩余的数组(concat)
大约 3 年之前 回复
shenhuan111
shenhuan111 这个函数什么意思,有定义吗??我对C#还不是很熟,C++还可以
大约 3 年之前 回复
caozhy
caozhy   Ds   Rxr 2014.12.12 00:11

作为特例,字符串可以
char[] s = "12".PadRight(10, '\0').ToArray();

shenhuan111
shenhuan111 感激,谢谢(:
大约 3 年之前 回复
caozhy
caozhy char[] s = "12".ToArray(); 或者 ToCharArray()
大约 3 年之前 回复
shenhuan111
shenhuan111 呵呵,单独写char[] s = "12";不行,C++可以,C#细节有太多与C++不同了
大约 3 年之前 回复
shenhuan111
shenhuan111 报错
大约 3 年之前 回复
shenhuan111
shenhuan111 这个好像报错char[] s = "12"这样写c#
大约 3 年之前 回复
shenhuan111
shenhuan111   2014.12.11 22:12

还是没有这种部分赋值的方法

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
编制具有如下原型的函数prime,用来判断整数n是否为素数:bool prime(int n); 而后编制主函数,任意输入一个大于4的偶数d,找出满足d=d1+d2的所有数对,其中要求d1与d2均为素数(通过调用prime来判断素数)。如偶数18可以分解为11+7以及13+5;而偶数80可以分解为:43+37、61+19、67+13、73+7。
初始化5X5的二维int类型数组,并将其转置
初始化5X5的二维int类型数组,并将其转置
C#委托的简单学习:定义委托和使用、Func<int f1,out r1>、给自定义的类或数组排序(冒泡排序)
MySql 基础学习笔记 1——概述与基本数据类型: 整型: 1)TINYINT 2)SMALLINT 3) MEDIUMINT 4)INT 5)BIGINT 主要是大小的区别 图 浮点型:命令
python 7-1 如何派生内置不可变类型(int,str,tuple,float)并修改实例化行为,继承内置tuple并实现__new__
c语言为什么int型的取址范围为-2的15次方到2的15次方减1
Pace 6 (1.写一个函数返回参数二进制中 1 的个数;2..获取一个数二进制序列中所有的偶数位和奇数位;3. 输出一个整数的每一位;4.两个int整数的二进制表达中,有多少个位不同
编制具有如下原型的函数prime,用来判断整数n是否为素数:bool prime(int n);而后编制主函数,任意输入一个大于4的偶数d,找出满足d=d1+d2的所有数对,其中要求d1与d2均为素数。
C# double float int string 与 byte数组 相互转化