生手求指教,数组在定义了全局变量后,在方法一中赋值后却无法在方法二中继续使用该数组
新手求指教,数组在定义了全局变量后,在方法一中赋值后却无法在方法二中继续使用该数组
该数组赋值后,在另一个方法中数组就变成空的了,老是出现“索引超出了数组界限。”
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OPERATION;
using PP;
using System.Collections;
namespace GNSSN
{
unsafe
public partial class Form1 : Form
{
public static bool FLG = false;
public static CCGNSSADJDLL myCCGNSS = new CCGNSSADJDLL();
public static POINT[] myXYZ = new POINT[myCCGNSS.PNUM];
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public void openToolStripMenuItem_Click(object sender, EventArgs e)
{
string FilePathIn_ = "D:\\";
string FileNameIn_ = "testDATA.txt";
string FilePathOut_ = "D:\\";
string FileNameOut_ = "testDATA_OUT123.txt";
fixed (sbyte* pFilePathIn = (sbyte[])((Array)System.Text.Encoding.Default.GetBytes(FilePathIn_)))
{
myCCGNSS.FilePathIn = pFilePathIn;
}
fixed (sbyte* pFileNameIn = (sbyte[])((Array)System.Text.Encoding.Default.GetBytes(FileNameIn_)))
{
myCCGNSS.FileNameIn = pFileNameIn;
}
fixed (sbyte* pFilePathOut = (sbyte[])((Array)System.Text.Encoding.Default.GetBytes(FilePathOut_)))
{
myCCGNSS.FilePathOut = pFilePathOut;
}
fixed (sbyte* pFileNameOut = (sbyte[])((Array)System.Text.Encoding.Default.GetBytes(FileNameOut_)))
{
myCCGNSS.FileNameOut = pFileNameOut;
}
myCCGNSS.ReadData();
double* XYZ = myCCGNSS.XYZ;
POINT[] myXYZ = new POINT [myCCGNSS.PNUM];
int i;
for (i = 0; i < myCCGNSS.PNUM; i++)
{
//tablename1.Add(*XYZ);
myXYZ[i].X = (*XYZ);
XYZ = XYZ +1;
myXYZ[i].Y = (*XYZ);
XYZ = XYZ +1;
myXYZ[i].Z = (*XYZ);
XYZ = XYZ + 1;
//tablename2.Add(tablename1[i]);
该数组赋值后,在另一个方法中数组就变成空的了,老是出现“索引超出了数组界限。”
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OPERATION;
using PP;
using System.Collections;
namespace GNSSN
{
unsafe
public partial class Form1 : Form
{
public static bool FLG = false;
public static CCGNSSADJDLL myCCGNSS = new CCGNSSADJDLL();
public static POINT[] myXYZ = new POINT[myCCGNSS.PNUM];
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public void openToolStripMenuItem_Click(object sender, EventArgs e)
{
string FilePathIn_ = "D:\\";
string FileNameIn_ = "testDATA.txt";
string FilePathOut_ = "D:\\";
string FileNameOut_ = "testDATA_OUT123.txt";
fixed (sbyte* pFilePathIn = (sbyte[])((Array)System.Text.Encoding.Default.GetBytes(FilePathIn_)))
{
myCCGNSS.FilePathIn = pFilePathIn;
}
fixed (sbyte* pFileNameIn = (sbyte[])((Array)System.Text.Encoding.Default.GetBytes(FileNameIn_)))
{
myCCGNSS.FileNameIn = pFileNameIn;
}
fixed (sbyte* pFilePathOut = (sbyte[])((Array)System.Text.Encoding.Default.GetBytes(FilePathOut_)))
{
myCCGNSS.FilePathOut = pFilePathOut;
}
fixed (sbyte* pFileNameOut = (sbyte[])((Array)System.Text.Encoding.Default.GetBytes(FileNameOut_)))
{
myCCGNSS.FileNameOut = pFileNameOut;
}
myCCGNSS.ReadData();
double* XYZ = myCCGNSS.XYZ;
POINT[] myXYZ = new POINT [myCCGNSS.PNUM];
int i;
for (i = 0; i < myCCGNSS.PNUM; i++)
{
//tablename1.Add(*XYZ);
myXYZ[i].X = (*XYZ);
XYZ = XYZ +1;
myXYZ[i].Y = (*XYZ);
XYZ = XYZ +1;
myXYZ[i].Z = (*XYZ);
XYZ = XYZ + 1;
//tablename2.Add(tablename1[i]);