| 查看: 2441 | 回复: 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字符串的长度 |
» 猜你喜欢
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有13人回复
AI 太可怕了,写基金时,提出想法,直接生成的文字比自己想得深远,还有科学性
已经有11人回复
表哥与省会女结婚,父母去帮带孩子被省会女气回家生重病了
已经有9人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有10人回复
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有11人回复
» 本主题相关价值贴推荐,对您同样有帮助:
买来的石墨烯如何分散水中
已经有4人回复
Digetal microgragh 软件中如何直接标注尺寸?急求高手指点!
已经有9人回复
TEM 如何算平均粒径
已经有16人回复
解好的晶体数据如何用SHELXTL生成cif文件?越详尽越好,急用!
已经有10人回复
用TOPOS分析拓扑时三连接配体的如何设置为中心原子
已经有9人回复
求助:在GUI界面中显示m文件中的数组图片
已经有3人回复
结构体数组 问题
已经有4人回复
结构体所占内存
已经有8人回复
显示器屏幕显示变小了,如何调回全屏!急求!!!
已经有10人回复
请教如何改图片分辨率
已经有8人回复
如何回答这个专家的修改意见啊,各位牛人出招吧
已经有9人回复
【资源】施一公谈学生如何阅读和写作论文
已经有52人回复
【求助】如何涂覆电极膜
已经有10人回复
» 抢金币啦!回帖就可以得到:
西湖大学2026年秋季入学物理学、光学、电子信息方向博士生有名额速来!!!
+2/260
西湖大学拓扑光学、非厄米光学、太赫兹方向博士后招聘
+2/254
西湖大学2026年秋季入学物理学、光学、电子信息方向博士生有名额速来!!!
+2/252
西湖大学拓扑光学、非厄米光学、太赫兹方向博士后招聘
+2/246
-大龄未婚男找女朋友结婚
+1/241
苏州国家实验室和中国科学技术大学联培博士招生
+1/185
华南师范大学(211)- 光电科学与工程学院 - 申请审核制(2026年4-5月份面试考核)
+2/106
哈工大医康学院材料模拟计算方向人才招聘
+1/78
香港中文大学医学院 诚聘 研究助理教授 (医工结合/生物信息学方向)
+1/36
湘潭大学“过程强化与绿色化工”创新团队补招2026年秋入学博士生
+2/22
香港城市大学范俊教授招博士生 2名 机器学习和仿真设计新的电池材料 仅限C9高校学生
+1/17
【青岛大学】2026年生物与医药申请考核制博士生招生(含少数民族骨干人才)
+1/16
香港中文大学(深圳)陈筱萌 课题组招生公告(博士 / 博后 / 硕士 / RA)
+1/15
中科院深圳先进技术研究院招联培学生 -- 多中心大队列数据已就绪,助你快车道产出成果
+1/10
中国科学技术大学环境系招生
+1/9
澳门理工大学 2026 Fall 奖学金博士招生 (AI药物与蛋白质设计,干湿结合)
+1/8
广东省环境科学研究院招聘高分辨质谱方向博士一名
+1/6
大连海事大学船舶洁净能源研究中心2026年博士研究生招生启事
+1/6
2026年 陕西科技大学 环境学院 招收博士生(化学/材料/环境/生物 背景均可)
+1/3
【经验分享】CRISPR基因敲除细胞系构建全流程踩坑指南——从递送方式选择到克隆筛选
+1/2
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













回复此楼