在Form1中定义了一个数组并且赋值,怎么在一个新建的类中引用并修改数组元素?

xugeer 2010-12-31 01:57:43
在类中找不到这个数组,怎么回事?新手。
public partial class Form1 : Form
{



int[,] linkArray = new int[6,6];
int freshNumber = 0;
int numberOfZero = 0;


public Form1()
{
InitializeComponent();


}


类中 打linkArray[2,3],不显示,应该是找不到
...全文
202 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不要在新类中实例化Form,声明一个Form类型变量即可(保持对Form的引用)
class OneLine
{
Form1 formOneLine;
public OneLine(Form f)
{
this.formOneLine=f);
}
北极星-007 2011-01-01
  • 打赏
  • 举报
回复
在这个类的构造函数中定义这个数组,然后实例化对象时,把这个数组传过去
xugeer 2011-01-01
  • 打赏
  • 举报
回复
没人回答一下啊?
xugeer 2010-12-31
  • 打赏
  • 举报
回复
但是出现一个问题,如果在类中实例化Form1,又在Form1中实例化这个类,那不是无限循环了么?怎么解决?急等
xugeer 2010-12-31
  • 打赏
  • 举报
回复
经过各位提示,解决了,高兴

在类中
class OneLine
{
Form1 formOneLine = new Form1();

。。。。。
。。。。。
if (j1 - j2 != 1)
{
for (int j = j1 + 1; j <= j2 - 1; j++)
sum = sum + formOneLine.linkArray[i1, j];

}


}




return validate;
hinada99 2010-12-31
  • 打赏
  • 举报
回复
在Form1中定义
public static int[,] linkArray = new int[6,6];

在Form2中引用使用以下方式引用
Form1.linkArray
lgz_asp_net 2010-12-31
  • 打赏
  • 举报
回复
如果在别的类中调用,要实例化Form1 类

如果是在Form1 中调用,要在方法里调
umeharu 2010-12-31
  • 打赏
  • 举报
回复
linkArray 应该申明为 public才行的吧。
xugeer 2010-12-31
  • 打赏
  • 举报
回复
怎么传递啊,上面两位方法我都试了,不行啊
lgz_asp_net 2010-12-31
  • 打赏
  • 举报
回复
public int[,] linkArray = new int[6,6];
sprc_lcl 2010-12-31
  • 打赏
  • 举报
回复
//前提是你得传Form1这个类到新类中..
public int[,] linkArray = new int[6,6];

如果不传你得定义为
public static int[,] linkArray = new int[6,6];

111,120

社区成员

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

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

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