English 中文(简体)
为什么Visual C# 2008 Express中的StringBuilder类的Chars属性丢失了?
原标题:
  • 时间:2009-01-14 17:35:31
  •  标签:

这基本上就是整个问题了。我在一个干净的Windows XP Pro SP3机器上安装了Visual C# 2008 Express,启动了一个新的Windows表单项目,双击表单创建了一个Form1_Load方法,然后输入:

StringBuilder SB;
SB = new StringBuilder("test");
SB.Chars

但是字符没有出现在自动完成菜单上。为什么?

最佳回答

这是索引器,你用foo[bar]语法来引用它,而不是foo.Chars(bar)

StringBuilder sb = new StringBuilder("Hello");
char c = sb[1]; // c= e 

C#不使用索引器名称,也不能使用具有相同参数且命名不同(在不同语言中创建的)多个索引器。

Most of the time this is okay, but just occasionally I wish it supported named indexers fully...

问题回答

这是因为你正在使用C#。

在C#中,带有参数的属性不能通过名称引用,而在VB中可以使用名称。您可以通过与集合的Items属性相同的方式访问此属性:

StringBuilder sb = new StringBuilder();
char ch = sb[0];

This will return the first character in the StringBuilder s internal string.





相关问题
热门标签