C#不同类

来源:百度知道 编辑:UC知道 时间:2024/06/18 14:18:46
eg:
namespace pp
{
class OO
{
public void kk()
{
ArrayList list = new ArrayList();
Random rd = new Random();
int k = 0;
do
{
k = rd.Next(1, 9);
if (!list.Contains(k))
list.Add(k);
}
while (list.Count < 8);
list.Insert(8, 0);
}
}
class UU
{
这里我想用前面的list 怎么用啊。。。谢谢拉。。
eg: Console.WriteLine(list[0]);
}
}

声明成 全局的一个集合变量应该可以。如果是 静态的 那就可能 更简单。

eg:
namespace pp
{
class OO
{

public static ArrayList list = new ArrayList();

public void kk()
{
Random rd = new Random();
int k = 0;
do
{
k = rd.Next(1, 9);
if (!list.Contains(k))
list.Add(k);
}
while (list.Count < 8);
list.Insert(8, 0);
}
}
class UU
{
public void Show_data()
{
Console.WriteLine(OO.list[0]); //那就直接类名点变量名 就可以访问了。
}
}
}

你的list是在kk这个方法里申明的,属于局部变量,它只在kk这个函数内部可用,别的地方无法调用(请搞清楚全局变量和局部变量的区别)
你要想在别的类中使用这个list,就必须将list申明为类的属性或全局变量,而不是局部变量:
class OO
{
public ArrayList list = new ArrayList();
public void kk()
{
Random rd = new Random();
int k = 0;
do
...
以上是局部变量的方法,下面是将其申明为属性的方式:
public ArrayList List { get; set; }
(注意:这个是.net 3.5的写法)

这样申明完成之后,在UU的方法里就可以这样调用: