标签: stringbuilder

具有干净输出的ASP.NET HTML控件?

我正在开发一个ASP.NET Web应用程序,我一直在遇到同样的问题:

有时我想从代码隐藏中将HTML写入页面.例如,我有一个页面,Editor.aspx,输出根据GET变量的值"视图"而变化.换句话说,"Editor.aspx?view = apples"输出的HTML不同于"Editor.aspx?view = oranges".

我目前用StringBuilder输出这个HTML.例如,如果我想创建一个列表,我可能会使用以下语法:

myStringBuilder.AppendLine("<ul id=\"editor-menu\">");
myStringBuilder.AppendLine("<li>List Item 1</li>");
myStringBuilder.AppendLine("</ul>");
Run Code Online (Sandbox Code Playgroud)

问题是我宁愿使用ASP.NET的List控件来实现这个目的,因为几行StringBuilder语法妨碍了我的代码的可读性.但是,ASP.NET控件倾向于输出复杂的HTML,具有唯一的ID,内联样式以及偶尔的内联JavaScript块.

我的问题是,是否有一个ASP.NET控件只代表一个通用的HTML标签?换句话说,是否存在类似以下示例的控件:

HTMLTagControl list = new HTMLTagControl("ul");
list.ID = "editor-menu";
HTMLTagControl listItem = new HTMLTagControl("li");
listItem.Text = "List Item 1";
list.AppendChild(listItem);
Run Code Online (Sandbox Code Playgroud)

我知道有包装器等等,但我宁愿从简化开始,而不是驯服ASP.NET的复杂性.

html asp.net stringbuilder

4
推荐指数
1
解决办法
1926
查看次数

ORA-01795:列表中的最大表达式数为1000

在c#中,我们正在为NHibernate构建一个包含"in语句"的查询.表达式的数量超过5000.如果我执行查询,我会收到错误.

我需要找到一种方法来打破大型字符串构建器并将它们存储在字符串构建器数组中,并在需要时执行多个查询以获得所需的输出.我们只有一个帐户拥有超过5000条记录,其余的都低于100.有人可以提出解决方法吗?

c# arrays stringbuilder

4
推荐指数
1
解决办法
7533
查看次数

java中的StringBuffer/StringBuilder大小

所有,

为什么建议将StringBuffer/ StringBuilderobject的大小初始化为2 ^ {1 ... n}的大小(尽管通常它将> 64).这样做会有什么优势/优化?

java stringbuilder buffer stringbuffer

4
推荐指数
1
解决办法
8334
查看次数

从属性返回字符串连接的最有效方法

我已经在这里阅读了一些帖子,常见的建议是如果加入三个字符串,stringbuilder是最有效的.

所有变量都是其他属性.

public string Summary
{
  get 
  {
    return Name.Replace("_", " ") + "<strong>[" + Total + " Devices - " + BadCount + " Offline, " + PendingCount + " Pending]</strong>";
  }
}
Run Code Online (Sandbox Code Playgroud)

我加入四,是一个简单的连接适合或我应该使用stringbuilder?只是看起来有点矫枉过正.

c# string stringbuilder concatenation

4
推荐指数
1
解决办法
963
查看次数

通过StringBuilder将字节顺序标记添加到字符串

如何在StringBuilder中添加字节顺序标记?(我必须将一个字符串传递给另一个将其保存为文件的方法,但我无法修改该方法).

我试过这个:

var sb = new StringBuilder();
sb.Append('\xEF');
sb.Append('\xBB');
sb.Append('\xBF');
Run Code Online (Sandbox Code Playgroud)

但是当我用十六进制编辑器查看它时,它会添加以下序列: C3 AF C2 BB C2 BF

字符串很大,所以不用来回转换为字节数组就可以了.

编辑: 在评论中提问后澄清.我必须将字符串传递给另一个接受字符串的方法,并在Azure Blob存储上创建它的文件.我无法修改其他方法.

c# stringbuilder byte-order-mark utf-8

4
推荐指数
2
解决办法
5993
查看次数

StringBuilder附加波斯数字

我正在尝试将一些数字附加到字符串中,该字符串已经包含波斯字符,并且StringBuilder始终将波斯语数字附加到字符串中.

    StringBuilder sb = new StringBuilder();
    sb.Append( other things );
    sb.Append("', '");
    sb.Append("1234234");
    sb.Append("', ");
Run Code Online (Sandbox Code Playgroud)

即使我在上面的代码中明确使用英文数字,​​我仍然最终得到波斯数字.如何将英文数字附加到此字符串?

UPDATE

这些行模拟了我的问题,您可以通过跟踪此代码来查看波斯语数字:

     StringBuilder temp = new StringBuilder();
                    temp.Append("INSERT INTO [db] (....) VALUES ('21211221', 111555, 
                                '2015/12/12', '??? ????????  ', '???? ???? ????");
                temp.Append("', '");
                temp.Append("234234");
Run Code Online (Sandbox Code Playgroud)

最后一个附加应该是英文编号,但事实并非如此.

.net c# stringbuilder

4
推荐指数
1
解决办法
200
查看次数

c#前面的快速字符串插入

我需要在开头插入字符串.现在我StringBuilder.Insert(0, stringToInsert)用来插入前面,但它需要花费很多时间(大约2分钟,80,000个字符串).

append()方法运行速度更快(80,000个字符串为30秒),但这不是我需要的顺序.如何反转字符串的顺序(而不是字符串本身)并减少插入时间?

c# stringbuilder

4
推荐指数
1
解决办法
1697
查看次数

在同一个StringBuilder实例上调用toString时输出不同

我正在测试Strings,我提出了以下代码:

public static void main(String[] args){
    StringBuilder sb1 = new StringBuilder("Cuba");
    String str1 = sb1.toString();
    // n1
    System.out.println(str1 == str2);
}
Run Code Online (Sandbox Code Playgroud)

n1如果我把:

String str2 = sb1.toString();
Run Code Online (Sandbox Code Playgroud)

我得到false.但是,如果我放置:

String str2 = str1;
Run Code Online (Sandbox Code Playgroud)

我得到true.

我不确定为什么会发生这种情况:两个代码都指的是同一个实例,因此,两个输出必须是true.

知道为什么两个输出都不同吗?我知道如何比较字符串,我只是对结果不同的原因感到好奇.

java string stringbuilder

4
推荐指数
1
解决办法
63
查看次数

空间复杂度字符串生成器

在下面的例子中,如果我输入 a String s,空间复杂度是 O(n) 还是 O(1)?如果我只添加元音,它仍然是 O(n) 吗?

String s = "dfgdfgdfga";
StringBuilder sb = new StringBuilder();
for (int i = 0;i <s.length(); i++) {
    sb.append(s.charAt(i));
}
return sb.toString();
Run Code Online (Sandbox Code Playgroud)

java string complexity-theory stringbuilder

4
推荐指数
1
解决办法
2745
查看次数

复制 StringBuilder 的最佳方法是什么?

StringBuilder从另一个实例化一个新实例的最佳方法(性能方面)是什么?(复制Ctor)。

我不想通过不可变的字符串传递,因为下划线数据非常大。

所以下面的内容是有效的,但不是想要的。

StringBuilder newSB = new StringBuilder(oldSB.ToString());
Run Code Online (Sandbox Code Playgroud)

我想要类似的东西

StringBuilder newSB = new StringBuilder(oldSB);
Run Code Online (Sandbox Code Playgroud)

但这不受支持。

c# stringbuilder

4
推荐指数
1
解决办法
2322
查看次数