关于数组的问题

Apanqingyun 2010-11-10 05:04:38
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;

namespace jimi
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string x = string.Empty, y = string.Empty;
string[,] pwd = { {"0","1","2","3","4","5","6","7","8","9"},
{"q","w","e","r","t","y","u","i","o","p"},
{"[","]","a","s","d","f","g","h","j","k"},
{"l",";","'","\\","z","x","c","v","b","n"},
{"m",",",".","/","?",">","<","|",":","}"},
{"{","+","_","=","-",")","(","*","&","^"},
{"%","$","#","@","!","~","A","S","D","F"},
{"G","H","J","K","L","P","O","I","U","Y"},
{"T","E","W","Q","Z","X","C","V","B","N"},
{"M"," ","","","","","","","",""}
};
x = textBox1.Text;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (Convert.ToString( pwd[i,j]) ==Convert.ToString( x[i]))
{
y +=Convert.ToString(i);
y +=Convert.ToString(j);
}
}
}
textBox2.Text = y;
}
}
}

执行后在TextBox1中输入123之后按下按钮 有下面错误提示:
数组越界,索引超出数组界限;
怎么回事呢?
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Apanqingyun 2010-11-10
  • 打赏
  • 举报
回复
输入是个字符后 在TextBox2中只显示了两个字符 就是第一次比较的结果 为什么呢?
兔子-顾问 2010-11-10
  • 打赏
  • 举报
回复
多敲了个0.囧。textBox1.Text少于10个字符就出错。先检查一下textBox1.Text长度。
Return门徒 2010-11-10
  • 打赏
  • 举报
回复
逻辑有问题啊
Return门徒 2010-11-10
  • 打赏
  • 举报
回复
if (Convert.ToString( pwd[i,j]) ==Convert.ToString( x[i]))
{
y +=Convert.ToString(i);
y +=Convert.ToString(j);
}


X数组超出数组界限
兔子-顾问 2010-11-10
  • 打赏
  • 举报
回复
textBox1.Text可能不足100个字符就会出现你说的错误。
damjmk2 2010-11-10
  • 打赏
  • 举报
回复
if (Convert.ToString( pwd[i,j]) ==Convert.ToString( x[i]))

x里面只有3个字符,你循环到10了,当然会越界

111,129

社区成员

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

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

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