琐事,我知道,但只是感兴趣
我有一个stringbuilder变量,我想返回它的内容,但是如果它是空的我想返回"|",那么最好在compare语句中使用stringbuilder.tostring,例如
If lReturnStringBuilder.ToString = String.Empty Then
lReturnStringBuilder.Append("|")
End If
return lreturnStringBuilder.tostring
Run Code Online (Sandbox Code Playgroud)
或者最好将其转换为字符串,并进行比较,即使这意味着加载一个新变量并为其分配字符串空间,例如
Dim lString as string = lReturnStringBuilder.ToString
if lString = string.empty then
lstring = "|"
end if
return lString
Run Code Online (Sandbox Code Playgroud) 考虑下面的struts Action类,我StringBuilder在execute方法中使用了一个变量.我的问题:变量sb线程是否安全?
public DemoAction extends Action
{
......
public ActionForward execute(.....)
{
StringBuilder sb = new StringBuilder();
}
}
Run Code Online (Sandbox Code Playgroud)
如果在execute()之外声明了相同的变量sb,该怎么办?请记住,WebContainer中只有一个DemoAction对象.
我知道StringBuffer和之间的技术差异StringBuilder.
但如果我半年左右不使用它们,我只会忘记哪一个是同步的,哪一个不同步.我总是查找JavaDoc的第一句话.
那么:是否有某种容易记住的助记符来区分它们?如何你还记得有什么区别?
我们尝试从GridView中获取HTML并将其存储到String中,以便字符串可以用作电子邮件的正文.
到目前为止,我们在代码隐藏中使用了这种编码:
Protected Sub EmailStudentList()
' Get the rendered HTML.
'-----------------------
Dim SB As New StringBuilder()
Dim SW As New StringWriter(SB)
Dim htmlTW As New HtmlTextWriter(SW)
GridViewSummary.RenderControl(htmlTW)
' Get the HTML into a string.
' This will be used in the body of the email report.
'---------------------------------------------------
Dim dataGridHTML As String = SB.ToString()
MsgBox(Server.HtmlEncode(dataGridHTML))
End Sub
Run Code Online (Sandbox Code Playgroud)
应用程序运行时会显示以下错误:
Control 'BodyPlaceholder_GridViewSummary' of type 'GridView' must be placed
inside a form tag with runat=server.
Run Code Online (Sandbox Code Playgroud)
所以我在标记的这个位置放置了一个表单标记:
<asp:Content
ID="ContentBody"
ContentPlaceHolderID="BodyPlaceholder"
runat="server">
<form runat="server">
Run Code Online (Sandbox Code Playgroud)
现在我们得到这个错误:
A …Run Code Online (Sandbox Code Playgroud) vb.net asp.net stringbuilder rendercontrol string-conversion
我有一个通用的html控件 - 一个'P'标签,我添加了一个runat="server".
我使用Stringbuilder方法构造一个字符串,并将其应用于标记的InnerHtml属性.
该文本包含许多sb.Appendline()作为段落的静态显示,但不包含任何新行.但是,当我查看创建的标记时,新的行就在那里,显示为间距.
DIV也是如此
任何人对我如何解决这个问题有任何想法?
代码如下:
var sb = new StringBuilder();
sb.Append("Congratulations!");
sb.AppendLine();
sb.AppendLine();
sb.AppendFormat("Your application was accepted by <b>{0}</b>.", response.AcceptedLender);
sb.AppendLine();
sb.AppendFormat("Your reference number is <b>{0}</b>.", response.PPDReference);
sb.AppendLine();
sb.AppendLine();
sb.Append("Click the button below to sign your loan agreement electronically and collect your cash.");
AcceptedMessage.InnerHtml = sb.ToString();
Run Code Online (Sandbox Code Playgroud) 对于以下代码,我应该在静态方法中使用哪个类,StringBuilder或者StringBuffer?基于API,StringBuffer是线程安全的,但StringBuilder不是.
public static String getString(int[] arrs) {
StringBuilder sb = new StringBuilder(); //1
StringBuffer sb = new StringBuffer(); //2
for (int i : arrs) {
sb.append(i);
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud) 为什么这段代码会在i = 690864192上抛出OutOfMemoryException?
StringBuilder sb = new StringBuilder();
for (int i = 0; i < Int32.MaxValue; i++)
{
sb.Append("s");
}
Console.WriteLine(sb.ToString());
Console.Read();
Run Code Online (Sandbox Code Playgroud)
默认容量是16个字符,但是这需要增加到最大值,即int.MaxValue = 2,147,483,647.那么为什么当chars的数量是690,864,192而远远低于最大容量时,它会抛出异常?
String和(StringBuilder或StringBuffer)之间存在许多差异,例如可变性和许多字符串操作
可能这个问题看起来有点傻,但我想知道编程范式.
我想问一下,为什么Java实现了另一个类,StringBuilder或者StringBuffer像数据结构那样String.为什么他们自己没有给出这些功能String.
为什么不把String本身线程安全的,或提供一些额外的功能StringBuilder或StringBuffer有?
我正在学习算法实现课程.我的老师提到了StringBuffer和StringBuilder,他说StringBuffer比StringBuilder更安全,因为在线程方面.真的吗?如果是这样,那意味着什么?我查了一下这个问题,很多答案都提到了同步.任何人都可以解释这意味着什么,以及如何使StringBuffer比StringBuilder更安全?
如何StringBuilder实现以避免不可变的字符串分配问题?
StringBuilder aliasA = new StringBuilder("a");
StringBuilder dot = new StringBuilder(".");
Clausula clause1 = new Clausula(aliasA.append(dot).append("id").toString());
Clausula clause2 = new Clausula(aliasA.append(dot).append("name").toString());
Run Code Online (Sandbox Code Playgroud) stringbuilder ×10
java ×6
stringbuffer ×4
string ×3
asp.net ×2
c# ×2
vb.net ×2
algorithm ×1
synchronized ×1