相关疑难解决方法(0)

关于拳击/ c#的基本问题

bar添加后可以更改内部存储的值吗?

我试过'拳击'字符串,foo但它不起作用.

string foo = "aaaaaaa";
var bar = new System.Web.UI.HtmlControls.HtmlGenericControl("div") { InnerHtml =foo };
foo = "zzzzzz";
plcBody.Controls.Add(bar);//want this to contain 'zzzzzz'
Run Code Online (Sandbox Code Playgroud)

c# boxing

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

为什么`String.Trim()`不修剪对象本身?

不经常但有时我需要String.Trim()用来删除字符串的空格.
如果从上次修剪编码开始的时间比较长,我写道:

string s = " text ";
s.Trim();
Run Code Online (Sandbox Code Playgroud)

并且惊讶为什么s 没有改变.我需要写:

string s = " text ";
s = s.Trim();
Run Code Online (Sandbox Code Playgroud)

为什么是 一些以这种(非常直观)方式设计的字符串方法?字符串有什么特别之处吗?

c#

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

有多少人被Java子串内存问题所困扰?

我最近发现java.lang.String.substring方法不返回一个新字符串,而是返回一个包含原始字符串的视图.这可能会对记忆产生影响.例如,如果您正在读取ascii文件,并使用子字符串解析文件中的标记并将子字符串的结果存储在内存中 - 您实际存储在内存中的是子字符串操作之前的整个字符串!您当然可以通过在自己的版本中包装子字符串来解决此问题,该子字符串返回子字符串结果的新字符串.

java substring

3
推荐指数
1
解决办法
2407
查看次数

字符串 - 它们如何工作?

String对象如何在Java中工作?术语"不可变"如何完全适用于字符串对象?虽然我们在原始字符串对象值上操作,但为什么我们在通过某些方法后看不到修改过的字符串?

java string

3
推荐指数
1
解决办法
6264
查看次数

如果将C#字符串与F#analogue进行比较,为什么C#字符串的标题为"不可变"?

我已经阅读了那些较旧的主题:

但是,immutable如果将它与F#analogue进行比较,我无法理解这个词的含义:

open System
let data = "London"
data <- "123"
Console.WriteLine data
Run Code Online (Sandbox Code Playgroud)

由于下一个原因,这个将无法编译:

错误FS0027:此值不可变.考虑使用mutable关键字,例如'let mutable data = expression'.

所以...如果要比较F#行为和C#one,似乎F#具有不变性的真正含义,或者我不明白这个术语的真正含义......

我们来看看C#变体:

class Program
{
    static void Main()
    {
        var a = "London";
        a = "123";
        System.Console.WriteLine(a);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出将是:123.

让我们从下一篇文章中获取信息:为什么字符串在.NET中是不可变的?

字符串附加

老实说,如果要查看这张图并将其与F#变体进行比较,我看不到不变性......但是,据我所知,SO上有超过100人(问题发表在这个问题的顶部)不能错,并为这种意义给出错误的名称.

请告诉我为什么C#字符串被调用immutable,如果我可以更改它的值?如果要将其与F#样本进行比较,则单个含义的结果会有所不同.

c# heap f# immutability

3
推荐指数
1
解决办法
135
查看次数

为什么我们有String类,如果StringBuilder或StringBuffer可以做String的作用?

我一直想知道为什么JAVA和C#有String(immutable&threadsafe)类,如果它们有StringBuilder(mutable¬ threadsafe)或StringBuffer(mutable&threadsafe)类.上课不是StringBuilder/ StringBuffer超集String吗?我的意思是,String如果我选择使用StringBuilder/ ,我为什么要使用课程StringBuffer

例如,而不是使用以下,

String str;
Run Code Online (Sandbox Code Playgroud)

为什么我不能总是使用以下?

StringBuilder strb; //or
StringBuffer strbu;
Run Code Online (Sandbox Code Playgroud)

简而言之,我的问题是,如果我StringStringBuffer类替换,我的代码将如何生效?此外,StringBuffer还增加了可变性的优势.

c# java

2
推荐指数
1
解决办法
1533
查看次数

为什么java有StringBuilder或StringBuffer?

String和(StringBuilderStringBuffer)之间存在许多差异,例如可变性和许多字符串操作

可能这个问题看起来有点傻,但我想知道编程范式.

我想问一下,为什么Java实现了另一个类,StringBuilder或者StringBuffer像数据结构那样String.为什么他们自己没有给出这些功能String.

为什么不把String本身线程安全的,或提供一些额外的功能StringBuilderStringBuffer有?

java string stringbuilder stringbuffer

2
推荐指数
1
解决办法
143
查看次数

字符串是引用类型

String是不可变的引用类型如何?证明给我看 ?

c# string

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

如果我使用方法替换,为什么需要重新定义String?

theString如果我在此代码中使用替换方法,为什么还需要重新定义变量:

String theString = "I w@nt to h@ve the regul@r \"A\"!";
theString = theString.replace("@", "a");
System.out.println(theString);
Run Code Online (Sandbox Code Playgroud)

为什么我不能这样做:

theString.replace("@", "a");
Run Code Online (Sandbox Code Playgroud)

那就是它?

java string replace

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

为什么IPEndPoint可变?有不可变版本吗?

根据MSDN上的documenation,IPEndPoint可以有它AddressPort属性进行设置.

为什么这个课程设计为可变的?似乎它应该是不可变的,因为类似的原因是相同String的.

这个类的不可变版本是否更适合传递线程,事件处理程序等?

c# network-programming immutability endpoint

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

反向计数问题C#

不是标题所暗示的,我需要的是一种向后计数字符串的方法

string i = "3027"
i[0] = label1.Text
Run Code Online (Sandbox Code Playgroud)

结果= 7不是3有办法吗?

不确定你是否需要我的代码它不是很重要.

c# count inverse visual-studio

-1
推荐指数
1
解决办法
66
查看次数