检查数组C#中的空Char

时间:2014-08-11 17:00:22

标签: c# datatable char is-empty

我正在读一个字段在一张桌子上它只有3个值(“”,ESD,R& S)

我不确切知道为什么,但是当我读取R& S值时,打印输出标签是R(“空白空间”)S 这是我正在使用的代码:

char[] area = read1[8].ToString().ToCharArray();
// if array is less than one do nothing
if (area.Length > 1)
{
    //trying to use this to check if the second item of array is the "&" symbol (print this format data)
    if (area[1].ToString() == "&")
    {
        Arealbl.Text = area[0].ToString() + "\n" + "&" + "\n" + area[2].ToString();
    }
    //else print out this format data
    else
    {
        Arealbl.Text = area[0].ToString() + "\n" + area[1].ToString() + "\n" + area[2].ToString();
    }
}

我使用此代码是因为我没有找到一种将标签放在垂直方向的简单方法。

2 个答案:

答案 0 :(得分:1)

&是MenuItems,Labels和Buttons中的一个特殊字符,用于指示应强调下一个字符。当你设法集中Arealbl并点击Alt时,你可能会看到它。

Arealbl.UseMnemonic = false;

某处。和设计师一样。

答案 1 :(得分:1)

除了@Henk Holterman的回答,这里有一些代码审查建议。您可以将字符串作为数组进行访问,因此不需要.ToString().ToCharArray(),只需要.ToString()该方法的所有内容。将串联简化为string.Format有助于提高可读性,并假设您不必多次(数万)这样做,它不会影响性能。

string area = read1[8].ToString()
if(area.Length < 3) { return; } //exit early on error conditions.
// if array is less than one do nothing
Arealbl.UseMnemonic = false; //only add this if you cannot guarantee it will be set.
Arealbl.Text = string.Format("{0}\n{1}\n{2}", area[0], area[1], area[2]);