C# 无法从自定义类打印foreach值
这是到目前为止我的代码 CUSTOMCLASS.CSC# 无法从自定义类打印foreach值,c#,unity3d,C#,Unity3d,这是到目前为止我的代码 CUSTOMCLASS.CS public string[,] tableBR; string[] strData = {"P ,B ,B ,P ,B ,B ,B ,B ,B ,B ,P ,P ,B ,P "}; public int X_LENGTH = 104; public int Y_LENGTH = 15; #region BR VARIABLES string BigRD= ""; string[] newBigRD; st
public string[,] tableBR;
string[] strData = {"P ,B ,B ,P ,B ,B ,B ,B ,B ,B ,P ,P ,B ,P "};
public int X_LENGTH = 104;
public int Y_LENGTH = 15;
#region BR VARIABLES
string BigRD= "";
string[] newBigRD;
string realData= "";
#endregion
public Scoreboard(){
tableBR= new string[X_LENGTH,Y_LENGTH ];
}
public void MakeBR(string data){
BigRD = data;
for(int i = 0; i < strData.Length; i++){
BigRD += strData [i];
BigRD += ",";
}
newBigRD= BigRD .Split (',');
foreach(string newData in newBigRD){
realData = newData;
}
}
public string ShowBigRD(){
return realData;
}
public override string ToString(){
return "this are all the data :" + realData.ToString();
}
string BigRD= "";
void Start(){
StartCoroutine ("Win_Log");
}
IEnumerator Win_Log(){
Scoreboard scoreBoard = new Scoreboard();
scoreBoard.MakeBR(BigRD);
Debug.Log ("This is the data : " + scoreBoard.ShowBigRD());
yield return new WaitForEndOfFrame ();
}
它给我一个空字符串值。它只打印
“这是所有的数据:”
易如反掌
realData = newData;
到
否则,每次通过循环都会覆盖字符串realData
,而不仅仅是附加它。简单到可以更改
realData = newData;
到
否则,每次循环都会覆盖
字符串realData
,而不是仅仅附加它。我猜您正在查找以下内容:
IEnumerator Win_Log()
{
Scoreboard scoreBoard = new Scoreboard();
scoreBoard.MakeBigRoad (BigRD);
for(int i=0; i< scoreBoard.newBigRD.Length;i++)
{
var realData = scoreBoard.newBigRD[i];
Debug.Log ("This is the data : " + realdata);
}
yield return new WaitForEndOfFrame ();
}
或者我们可以保留您正在使用的拆分方法
newBigRD[]:
这就是我在示例中使用的
我猜你在找这个:
IEnumerator Win_Log()
{
Scoreboard scoreBoard = new Scoreboard();
scoreBoard.MakeBigRoad (BigRD);
for(int i=0; i< scoreBoard.newBigRD.Length;i++)
{
var realData = scoreBoard.newBigRD[i];
Debug.Log ("This is the data : " + realdata);
}
yield return new WaitForEndOfFrame ();
}
或者我们可以保留您正在使用的拆分方法
newBigRD[]:
这就是我在示例中使用的
您是否意识到
strData[]
是用单个元素初始化的?什么是realData
?看起来您需要一步一步地进行调试。在foreach循环的每次迭代中,realData都会被覆盖。您还没有向我们展示什么是realData。它的类型是什么?正如其他人所说,您正在覆盖realData
。使用+=
而不仅仅是=
。或者更好的是,使用一个字符串生成器为什么你认为这是一个null
。它可能是一个空字符串,因为在BigRD
的末尾添加了一个逗号,所以循环中的最后一项将是一个空字符串,因此最终值设置为realData
。真正的问题是您希望它打印什么?我是否应该删除此线程?您是否意识到strData[]
是用单个元素初始化的?什么是realData
?看起来您需要一步一步地进行调试。在foreach循环的每次迭代中,realData都会被覆盖。您还没有向我们展示什么是realData。它的类型是什么?正如其他人所说,您正在覆盖realData
。使用+=
而不仅仅是=
。或者更好的是,使用一个字符串生成器为什么你认为这是一个null
。它可能是一个空字符串,因为在BigRD
的末尾添加了一个逗号,所以循环中的最后一项将是一个空字符串,因此最终值设置为realData
。真正的问题是你想要它打印什么?我是否应该删除这个线程?顺便问一下,我如何可以每行打印一个值而不是只打印一行?按照我在评论中告诉你的做。@TylerS.Loeper如果我不使用字符串[],那么我如何显示它们?我不能用foreach来对付他们。我应该使用length
?@christiantidoc TBH,这应该是另一个问题。@TylerS.Loeper我不能在我的自定义类上编写debug.log
,你知道吗,先生?顺便问一句,我怎么可以每行打印一个值,而不仅仅是一行?按照我在注释中告诉你的做。@TylerS.Loeper如果我不使用字符串[]那么我如何显示它们呢?我不能用foreach来对付他们。我是否应该使用length
?@christiantidoc TBH,这应该是另一个问题。@TylerS.Loeper我无法在我的自定义类上编写debug.log
,您知道,先生,对吗?评论不用于扩展讨论;这段对话已经结束了。嘿,先生。1最后一个问题评论不用于扩展讨论;这段对话已经结束了。嘿,先生。最后一个问题