我用C#语言编写了这段代码来创建一个列表或记录,该记录包含一个名为Y
的数组和一个名为xyx
的变量。问题是如何初始化变量xyx
。当我运行程序时,定义此变量时出现问题
声明:
public struct All_Frames
{
public int[,] Y;
public int xyx;
};
All_Frames Frame = new All_Frames();
List<All_Frames> Frames = new List<All_Frames>();
在主程序中:
Frame.Y = new int[width, height];
for (int y = 0; y < height; y++)
for (int x = 0; x < width; x++)
Frame.Y[x, y] = (int)(0.299 * Red[x, y] + 0.587 * Green[x, y]);
Frames.Add(Frame);
如何初始化变量xyx
?
答案 0 :(得分:0)
问题是如何初始化变量xyx
All_Frames Frame = new All_Frames();
Frame.Y = new int[width, height];
Frame.xyx = 100; // Or another value
答案 1 :(得分:0)
与数组一样,您可以直接访问成员xyx ...
Frame.xyx = 117;
答案 2 :(得分:0)
这可能会有所帮助
Frame.Y = new int[width, height];
for (int y = 0; y < height; y++)
for (int x = 0; x < width; x++)
{
Frame.Y[x, y] = (int)(0.299 * Red[x, y] + 0.587 * Green[x, y]);
Frame.xyx = 1213; // Set your value here
}
Frames.Add(Frame);
答案 3 :(得分:0)
如果我正确理解您的问题/问题,那么您正在寻找一种在创建xyx
时初始化变量struct
的方法。我会在struct
中添加一个构造函数并初始化那里的所有内容。这样,您不必声明结构,然后再次调用初始化数组,只需在构造函数中完成所有操作即可。这样做,你可以消除这行代码:
Frame.Y = new int[width, height];
您可以通过调用构造函数
来替换它All_Frames Frame = new All_Frames(width, height, 1234); // or whatever value you want for xyx
public struct All_Frames
{
public int[,] Y;
public int xyx;
public All_Frames(int width, int height, int initXyx)
{
Y = new int[width, height];
xyx = initXyx;
}
}