| 查看: 2394 | 回复: 13 | |||
[交流]
【求助】C# 中如何声明结构体数组并赋值
|
|
我声明了一个结构体 public struct Str { public int id; public char s; } 并声明了一个变量Sa, public Str [] Sa=new Str[C]; 对其进行赋值;老提示说索引超出数组界限 for(int i=0;i Sa.id=i; Sa.s=S; } 其中S是一个字符串,C是S字符串的长度 |
» 猜你喜欢
最失望的一年
已经有11人回复
拟解决的关键科学问题还要不要写
已经有8人回复
求推荐英文EI期刊
已经有5人回复
存款400万可以在学校里躺平吗
已经有27人回复
请教限项目规定
已经有4人回复
国自然申请面上模板最新2026版出了吗?
已经有20人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
基金申报
已经有6人回复
疑惑?
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
买来的石墨烯如何分散水中
已经有4人回复
Digetal microgragh 软件中如何直接标注尺寸?急求高手指点!
已经有9人回复
TEM 如何算平均粒径
已经有16人回复
解好的晶体数据如何用SHELXTL生成cif文件?越详尽越好,急用!
已经有10人回复
用TOPOS分析拓扑时三连接配体的如何设置为中心原子
已经有9人回复
求助:在GUI界面中显示m文件中的数组图片
已经有3人回复
结构体数组 问题
已经有4人回复
结构体所占内存
已经有8人回复
显示器屏幕显示变小了,如何调回全屏!急求!!!
已经有10人回复
请教如何改图片分辨率
已经有8人回复
如何回答这个专家的修改意见啊,各位牛人出招吧
已经有9人回复
【资源】施一公谈学生如何阅读和写作论文
已经有52人回复
【求助】如何涂覆电极膜
已经有10人回复
» 抢金币啦!回帖就可以得到:
南京大学智能驱动与感知材料实验室诚招硕士/科研助理
+1/271
上海交通大学变革分子学中心申涛课题组2026秋季入学推荐-考核制博士招生(有机)
+1/81
北京大学季者课题组招聘博士后和科研助理/化学/化生/生命科学/物理/工程等
+1/80
信息工程大学教授团队网络空间安全专业博士招生【2026年1月31日报名截止】
+1/75
招聘:中国科学院山西煤炭化学研究所
+1/74
[长期合作招募] 同济大学肖倩老师团队诚邀港澳学者学术交流
+1/57
广州,真诚找对象
+1/52
[长期合作招募] 同济大学肖倩老师团队诚邀港澳学者学术交流
+1/34
【教授本人】南佛罗里达大学化学系刘文奇课题组 2026 Fall 招收有机/超分子方向博士生
+1/31
[长期合作招募] 同济大学肖倩老师团队诚邀港澳学者学术交流
+1/30
西南大学化学化工学院彭云贵教授课题组招有机化学博士研究生
+2/24
26博士申请-药物化学方向
+2/22
中国科学院大连化学物理研究所-环境催化工程研究组(DNL 902组)事业编外项目聘用人员
+2/18
哈尔滨工业大学(深圳)-包斌招收2026年博士研究生及博士后
+1/13
北京工业大学高靓教授课题组2026级博士研究生招生
+1/10
浙江大学赵俊杰课题组长期招聘博士后及科研相关岗位启事
+1/9
山东师范大学海外优青(校长团队)招聘硕士/博士/博后
+1/4
澳门科技大学诚招2026年秋季全奖博士研究生(纳米/水凝胶生物材料方向)
+1/4
【博士后/科研助理招聘-北京理工大学-集成电路与电子学院-国家杰青团队】
+1/1
福州大学梁宇航副教授招收2026年申核制博士研究生/硕士研究生(理论计算方向)
+1/1
2楼2011-04-01 20:30:10
3楼2011-04-01 20:34:01
我试了一下,没有错误啊
★ ★
空中的落叶(金币+3): 谢谢回复,我已经找到问题了,是C的赋值有问题……我在声明C时对C进行赋值,可那会的C还是0,所以才会出现超出索引的错误提示…… 2011-04-05 19:03:20
余泽成(金币+2): 谢谢参与应助! 2011-04-21 12:04:15
空中的落叶(金币+3): 谢谢回复,我已经找到问题了,是C的赋值有问题……我在声明C时对C进行赋值,可那会的C还是0,所以才会出现超出索引的错误提示…… 2011-04-05 19:03:20
余泽成(金币+2): 谢谢参与应助! 2011-04-21 12:04:15
|
namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public static int C = 5; public Str [] Sa=new Str[C]; string S = "sdfsdfsd"; private void button2_Click(object sender, EventArgs e) { for(int i=0;i Sa.id=i; Sa.s=S; } for (int i = 0; i < C; i++) { Console.WriteLine(Sa.id+"===="+Sa.s); } } } public struct Str { public int id; public char s; } } 上面这段程序是可以执行的啊,没有问题 |
4楼2011-04-02 10:16:19
5楼2011-04-02 11:15:45
★ ★
空中的落叶(金币+2): 谢谢回复,是我的C的赋值有问题…… 2011-04-05 19:04:19
余泽成(金币+2): 欢迎新虫,常来程序语言版! 2011-04-21 12:05:13
空中的落叶(金币+2): 谢谢回复,是我的C的赋值有问题…… 2011-04-05 19:04:19
余泽成(金币+2): 欢迎新虫,常来程序语言版! 2011-04-21 12:05:13
|
我自己按照你的说法写了个小程序. namespace Test1 { class Program { public struct Str { public int id; public char s; } static void Main(string[] args) { Str[] strs = new Str[5]; string s = "hello"; int n = s.Length; for (int i = 0; i < n; i++) { strs.id = i; strs.s = s; } System.Console.WriteLine(strs[n-1].id.ToString()); System.Console.ReadLine(); } } } 楼主看加粗的哪一行,如果你使用赋值后的数组的话,记住数组下标,从0-(n-1)是合法的,如果是n 的话,就会出现索引出错的错误.这个问题应该没什么难度,楼主仔细查查你自己的程序吧. |
6楼2011-04-02 21:57:04
7楼2011-04-20 08:22:03
8楼2011-04-20 08:44:45
9楼2011-04-21 00:47:45
10楼2011-04-21 08:44:49
11楼2011-04-21 12:56:51
12楼2011-04-21 15:55:07
13楼2011-04-21 16:47:37
14楼2011-04-21 16:48:33













回复此楼