黑马程序员技术交流社区
标题:
c#.net 如何定义可变长度数组属性
[打印本页]
作者:
于振发
时间:
2013-9-28 22:47
标题:
c#.net 如何定义可变长度数组属性
本帖最后由 于振发 于 2013-9-29 13:55 编辑
定义一个数组属性,它的长度是不确定的,内容也是不确定的,如何定义?
我这样写对么 ?
public class Class1
{
private string [] width=new string [4];
public string this[int i]
{
get { return width
; }
set
{
width
= value;
}
}
}
这样定义数组长度会不会固定了啊?
作者:
段朝骞
时间:
2013-9-29 00:18
new string[4]时就已经是固定了.
要定义可变数组使用ArryList或者List<T>
例如使用ArryList:
ArryList arrs =new ArryList(); //定义一个可变数组arrs,其元素类型不定,可以一直添加元素,但是元素类型必须一致
for(int i=0;i<=10;i++)
{
arrs.Add(i); //将0到10 的数加入到arrs数组中,确定arrs的类型为int,不能再添加其它类型的元素
}
for(int i =100;i<150;i++)
{
arrs.Add(i); //将100到150的数加入到arrs中
}
List<T>和ArryList差不多一样,例如:
List<int> liarrs = new List<int>(); //定义一个可变的liarrs数组,其元素类型为int
liarrs.Add(1);
liarrs.Add(10);
liarrs.Add(8);
作者:
黄广祯
时间:
2013-9-29 01:20
SF正解,你声明的是一个string类型的数组,长度是4,已经固定了
public string this[int i] //这是一个索引器,只是类似属性的实现,但不是属性
{
get { return width[i] ; }
set
{
width[i] = value;
}
}
复制代码
可变数组在C#中也就是ArrayList和泛型集合List<T>
最近正在看List<T>,这里就用它来实现下
public class Class1
{
private List<string> width = new List<string>();//声明一个string类型的集合
public List<string> Width //定义Width属性
{
get { return width; }
set { width = value; }
}
}
static void Main(string[] args)
{
Class1 c = new Class1(); //声明一个Class1类
c.Width.Add("你好"); //通过属性给私有成员width赋值
c.Width.Add("拜拜");
c.Width.Add("去死");
foreach (string s in c.Width) //遍历私有成员width的值
{
Console.WriteLine(s);
}
}
复制代码
希望能够对你有帮助,百度知道那个问题不是你问的吧?
作者:
☜⑦圊⑥慾➹沼
时间:
2013-9-29 08:50
你那样声明的是一维数组,长度只能是固定的,要想设置不固定的,那的使用泛型集合List<T>或者ArrayList<T>
比如:你要声明一个string类型的数组:
List<string> strlist=new List<string>();
添加数据:
strlist.Add("你好!");
strlist.Add("哈罗!");
strlist.Add("Hello!");
......
删除元素:
strlist.Remove(strlist[i]);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2