【发布时间】:2021-02-01 20:30:01
【问题描述】:
我正在尝试在文本更改时使用标题文本框来制作首字母缩写词 但是每当我按空格键时,我都会收到错误消息 我得到的错误是
System.ArgumentOutOfRangeException: '索引和长度必须引用一个 字符串中的位置。参数名称:长度'
-
这是我的表单的样子: GUI
-
这是我的代码的样子:
private void txtTitle_TextChanged(object sender, EventArgs e)
{
txtARC.Text = "";
if (!String.IsNullOrEmpty(txtTitle.Text))
{
string word = txtTitle.Text.ToString();
string[] wordArry = word.Split(' ');
for(int i=0; i<wordArry.Length; i++)
{
txtARC.Text = wordArry[i].Substring(0, 1);
}
}
}
【问题讨论】:
-
听起来您正试图从零字符的字符串中获取第一个字符。发生这种情况时,
wordArry[i]的运行时值是多少?你期望它是什么?为什么?word的值是多少?你期望它是什么?为什么?在最简单的情况下,您无法从空字符串中获取第一个字符,因为它没有字符。在尝试获取子字符串之前,您可能只检查字符串的长度。
标签: c# winforms textchanged