string str2_target = sr_target.ReadLine();
string[] str3_target = str2_target.Split(new string[] { }, StringSplitOptions.RemoveEmptyEntries);
foreach (String m in str3_target)
{
MessageBox.Show(multiplyingPower);
buffer_target[l++] = Convert.ToByte(Convert.ToByte(m) * Convert.ToByte(multiplyingPower));
//MessageBox.Show(m);
}
为什么foreach不循环红字处换成具体数字如6就可以循环.....新手不明白为什么,哪位高手给看看。
string[] str3_target = str2_target.Split(new string[] { }, StringSplitOptions.RemoveEmptyEntries);
foreach (String m in str3_target)
{
MessageBox.Show(multiplyingPower);
buffer_target[l++] = Convert.ToByte(Convert.ToByte(m) * Convert.ToByte(multiplyingPower));
//MessageBox.Show(m);
}
为什么foreach不循环红字处换成具体数字如6就可以循环.....新手不明白为什么,哪位高手给看看。
{
if (i == 4)
{
string str_target = sr_target.ReadLine();
string[] str_multiplyingPower = str_target.Split(new string[] { }, StringSplitOptions.RemoveEmptyEntries);
foreach (string m in str_multiplyingPower)
{
multiplyingPower = m;
}
}
从一个文本文档中特定行取出特定值付给multiplyingPower
完整代码:
private void Form1_Load(object sender, EventArgs e)
{
String multiplyingPower =null;
byte[] buffer_target = new byte[500];
int l = 0;
FileStream fs_target = new FileStream(@"d:\TPS\Export\122_level10.txt", FileMode.OpenOrCreate, FileAccess.Read);
StreamReader sr_target = new StreamReader(fs_target, Encoding.Default);
for (int i = 0; i < 9; i++)
{
if (i == 4)
{
string str_target = sr_target.ReadLine();
string[] str_multiplyingPower = str_target.Split(new string[] { }, StringSplitOptions.RemoveEmptyEntries);
foreach (string m in str_multiplyingPower)
{
multiplyingPower = m;//取文本第五行最后一个数据(每行数据间用空格隔开)
}
}
else
{
string str_target = sr_target.ReadLine();
}
}
for (int j = 0; j < 22;j++)
{
string str2_target = sr_target.ReadLine();
string[] str3_target = str2_target.Split(new string[] { }, StringSplitOptions.RemoveEmptyEntries);
foreach (String m in str3_target)
{
MessageBox.Show(multiplyingPower);
buffer_target[l++] = Convert.ToByte(Convert.ToByte(m) * Convert.ToByte(multiplyingPower));//到此就不循环了换成具体数字如6就可以循环
//MessageBox.Show(m);
}
}
Bitmap bmp_target = ToGrayBitmap(buffer_target, 20, 22);
this.pictureBox_target.Image = bmp_target;
fs_target.Close();
fs_target.Close();
里面应该有string的吧
foreach (String m in str3_target)
将这个String改成string
multiplyingPower这个也改成string试试
如果显示的是阿拉伯数字就
int.parse(multiplyingPower)
就int.parse(multiplyingPower);
{
multiplyingPower = m;
}
这样写在不是浪费时间嘛,
string s = "abcdef";
byte y=0;
char[] a = s.ToCharArray();
foreach (char x in s)
{
if (x == 'c')
y = Convert.ToByte(x);
}
Console.Write(y);
写错了,呵呵int multiplyingPower;
int.TryParse(str_multiplyingPower[str_multiplyingPower.Lentgh-1],multiplyingPower );
int multiplyingPower;
int.TryParse(str_multiplyingPower[str_multiplyingPower.Lentgh-1],outmultiplyingPower );