请问高手如何创建一系列变量?谢谢!

caibirdcnb 2016-06-23 10:18:56
各位高手,
我需要创建N个变量,名字叫var1,var2,...var100,...,其中N是不固定的,取决于具体情况,请问应该怎么实现?

例如下面的例子中,需要根据name有多少个逗号来创建变量,变量名称分别是var1-var10,内容是a,dg,cg等。

string name= “a, dg, cg, dssd, s, ggsd, a, sds, sdss, g”;
int count= name.Length - name.Replace(",", "").Length + 1;
int j=0;
for (int i=1;i<=count;i++)
{
int j = name.IndexOf(",",k,name.Length-k);
string var(i) = name.Substring(k,j)
k=j+1;
}
谢谢!
...全文
203 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
var[1] 硬要写成 var1 、dic["abc"] 硬要写成 abc,其实 lz 就是要这个效果。 如果不能把一些乱象真正看透,对程序开发设计的管理问题的理论的研究不深,会觉得某些人的想法好像挺高大上。其实没用。
  • 打赏
  • 举报
回复
引用 4 楼 qqamoon 的回复:
我的理解是,你需要定义一个数组,数组元素的类型是字符串 string,可以通过 var(i) 的形式来赋值。 呃......难道是我理解错了? 嗯......var(i) 这个东西貌似是 vb 的数组,在 c# 5.0 中是用不了的,因为 var 是关键字,数组是要用 [] 的 告诉你个秘密,其实我手打的那段代码,已经考虑到你的水平了, LIst<object> 这个比数组用起来方便一点,不仅能 Add 还能 Remove 还能像数组一样可以 objs[i] 哦,不信你试试。
lz 需要一个极其花哨的代码写法,来显出跟同学、老师的水平不同。lz不需要理解数据结构、编程设计。只需要一个别人不知道的花哨写法。如果你跟他讨论数据结构、程序设计,就暴露了他真实的水平了。所以他不会跟你深入讨论。
  • 打赏
  • 举报
回复
你那个根本不叫“创建变量”。所以别瞎想了,正经学学编程吧。 正经的编程中,有数据组、各种集合相关的数据结构。但是前提是不乱说什么“创建变量名不确定的变量”这种荒唐话。
threenewbee 2016-06-24
  • 打赏
  • 举报
回复
用数组或者list集合,如果非要一个名字,可以用dynamic
wanghui0380 2016-06-24
  • 打赏
  • 举报
回复
在C#里基本没用,你自己想把,生成给谁用。 他在运行期生成滴,你写代码滴时候他还没生成呢! dynamic倒是可以,不过嘛,你得自己保证你写代码的时候没喝酒,不会乱搞,反正编译器是不给你保证滴,你的清楚知道自己在干什么
巴士上的邂逅 2016-06-24
  • 打赏
  • 举报
回复
用反射技术试试!
龍过鸡年 2016-06-23
  • 打赏
  • 举报
回复
引用 3 楼 caibirdcnb 的回复:
而且这些变量还需要赋值,上面只能abc,def,xyz分别赋值,但如果是var1-var3,则可以通过循环。
我的理解是,你需要定义一个数组,数组元素的类型是字符串 string,可以通过 var(i) 的形式来赋值。 呃......难道是我理解错了? 嗯......var(i) 这个东西貌似是 vb 的数组,在 c# 5.0 中是用不了的,因为 var 是关键字,数组是要用 [] 的 告诉你个秘密,其实我手打的那段代码,已经考虑到你的水平了, LIst<object> 这个比数组用起来方便一点,不仅能 Add 还能 Remove 还能像数组一样可以 objs[i] 哦,不信你试试。
caibirdcnb 2016-06-23
  • 打赏
  • 举报
回复
而且这些变量还需要赋值,上面只能abc,def,xyz分别赋值,但如果是var1-var3,则可以通过循环。
caibirdcnb 2016-06-23
  • 打赏
  • 举报
回复
引用 1 楼 qqamoon 的回复:
[quote=引用 楼主 caibirdcnb 的回复:] 各位高手, 我需要创建N个变量,名字叫var1,var2,...var100,...,其中N是不固定的,取决于具体情况,请问应该怎么实现? 例如下面的例子中,需要根据name有多少个逗号来创建变量,变量名称分别是var1-var10,内容是a,dg,cg等。 string name= “a, dg, cg, dssd, s, ggsd, a, sds, sdss, g”; int count= name.Length - name.Replace(",", "").Length + 1; int j=0; for (int i=1;i<=count;i++) { int j = name.IndexOf(",",k,name.Length-k); string var(i) = name.Substring(k,j) k=j+1; } 谢谢!

List<object> objs = new List<object>();
objs.AddRange("abc,def,xyz".Split(',')); // 添加了 abc def xyz 3 个 string
objs.AddRange("abcde".ToCharArray()); // 添加了 a-e 共 5 个 char
objs.AddRange(Enumerable.Range(0, 100)); // 添加了 0-99 共 100 个 int
[/quote] 谢谢,但这些变量名不是var1-varxx哦。或者a1-axx。。。
龍过鸡年 2016-06-23
  • 打赏
  • 举报
回复
引用 楼主 caibirdcnb 的回复:
各位高手, 我需要创建N个变量,名字叫var1,var2,...var100,...,其中N是不固定的,取决于具体情况,请问应该怎么实现? 例如下面的例子中,需要根据name有多少个逗号来创建变量,变量名称分别是var1-var10,内容是a,dg,cg等。 string name= “a, dg, cg, dssd, s, ggsd, a, sds, sdss, g”; int count= name.Length - name.Replace(",", "").Length + 1; int j=0; for (int i=1;i<=count;i++) { int j = name.IndexOf(",",k,name.Length-k); string var(i) = name.Substring(k,j) k=j+1; } 谢谢!

List<object> objs = new List<object>();
objs.AddRange("abc,def,xyz".Split(',')); // 添加了 abc def xyz 3 个 string
objs.AddRange("abcde".ToCharArray()); // 添加了 a-e 共 5 个 char
objs.AddRange(Enumerable.Range(0, 100)); // 添加了 0-99 共 100 个 int

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧