相关疑难解决方法(0)

如何用空字符串替换" - "的出现?

我有这个字符串:"123-456-7"

我需要得到这个字符串:"1234567"

如何用空字符串替换" - "的出现?

c# string

34
推荐指数
3
解决办法
6万
查看次数

这三种清除文本框的方法有什么区别?

我对以下三种清除文本框内容的方法感到有点困惑.我正在使用WPF并发现All正在工作,但我无法找到差异.

有人可以用一些例子向我解释一下吗?

  • txtUserName.Clear();
  • txtUserName.Text = string.Empty;
  • txtUserName.Text = "";

c# wpf textbox

26
推荐指数
2
解决办法
3502
查看次数

使一个空字符串值得吗?

我有一个同事发誓

//in a singleton "Constants" class
public static final String EMPTY_STRING = "";
Run Code Online (Sandbox Code Playgroud)

在整个项目中可用的常量类中.这样,我们可以写出类似的东西

if (Constants.EMPTY_STRING.equals(otherString)) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

代替

if ("".equals(otherString)) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我说是的

  1. 不值得 - 它不会保存堆/堆栈/字符串池中的任何空间,
  2. 丑陋
  3. 滥用常数类.

谁是这里的白痴?

java string

24
推荐指数
6
解决办法
3万
查看次数

如果对象为null,如何返回空字符串?

这是我的代码片段:

var link = socials.Where(p => p.type == Facebook).FirstOrDefault().URL;
Run Code Online (Sandbox Code Playgroud)

问题是列表中没有任何社交对象,FirstOrDefault()返回null.URL触发异常.

如何在LINQ的"one"行中避免这种情况?因此,如果null返回空""(或自定义更好)字符串,否则.URL

.net c# linq string null

24
推荐指数
3
解决办法
5803
查看次数

C#4.0 - 如何处理可选的字符串参数

此代码无效:

private void Foo(string optionalString = string.Empty)
{
   // do foo.
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码是:

private void Foo(string optionalString = "")
{
   // do foo.
}
Run Code Online (Sandbox Code Playgroud)

为什么?因为string.Empty是只读字段,而不是常量,并且可选参数的缺省值必须是编译时常量.

那么,关于我的问题......(好吧,关心)

这就是我必须做的事情:

private const string emptyString = "";

private void Foo(string optionalString = emptyString)
{
   // do foo.
   if (!string.IsNullOrEmpty(optionalString))
      // etc
}
Run Code Online (Sandbox Code Playgroud)

你们如何处理可选的字符串参数?

为什么它们不能使String.Empty成为编译时常量?

.net c# string optional-parameters c#-4.0

16
推荐指数
3
解决办法
4万
查看次数

使用指针将char*转换为unsigned char*

我正在编写一些使用fstream read()函数的代码,这个函数需要一个char*作为缓冲区.稍后,我想使用此缓冲区中的字节作为无符号字符,因此我要么必须:1.将缓冲区声明为char*,然后为每个元素执行static_casts,2.声明缓冲区作为unsigned char*然后在我将它传递给read函数时执行reinterpret_cast,或者3.将缓冲区声明为char*并创建一个用于访问缓冲区作为unsigned char的转换指针.

这是一个片段:

char* buf = new char[512];
unsigned char* ubuf = reinterpret_cast<unsigned char*>(buf);

    fstream myfile;

    myfile.open("foo.img");

    myfile.seekg(446);
    myfile.read(buf, 16);
    //myfile.read(reinterpret_cast<char*>(buf), 16);

int bytes_per_sector = ubuf[1] << 8 | ubuf[0];
...
Run Code Online (Sandbox Code Playgroud)

我喜欢这种方式,因为我只需要转换一次,我可以只访问缓冲区作为任何一种类型,而不是每次都进行转换.但是,这是一个好习惯吗?有没有什么可以在这里出错?使用reinterpret_cast让我有点紧张,因为我通常不会使用它,而且我被告知要多次小心它.

c++ pointers fstream reinterpret-cast

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

从字符串中删除空白字符

字符串变量存储值如... careteam order 4-26-11.csv

我需要careteamorder4-26-11.csv 通过删除空间来修剪c#中的值.. ...

如何删除字符串变量中的空格?

c# asp.net string replace

7
推荐指数
2
解决办法
3万
查看次数

我应该使用哪个空字符串?为什么?

可能重复:
String.Empty和""之间有什么区别

我应该使用以下哪一项来分配空字符串,为什么?

string variableName = "";
Run Code Online (Sandbox Code Playgroud)

要么

string variableName = string.Empty;
Run Code Online (Sandbox Code Playgroud)

.net c# string

6
推荐指数
3
解决办法
606
查看次数

为什么我不能将string.Empty用作与空引号相反的可选参数?

我正在改进我的代码并注意到在某些地方我有可选参数,其默认值为空字符串.我将其更改为类中的默认值为空字符串,猜猜是什么!显然,空引号和string.Empty.之间存在差异.什么鸭子?!(打字错误)

private void Khaboom(String parameter = "") { ... }

private void Bazinga(String parameter = String.Empty) { ... }
Run Code Online (Sandbox Code Playgroud)

谁能向我解释为什么不鸭Khaboom工作,同时Bazinga不?

错误消息引发了这样的错误:

'parameter'的默认参数值必须是编译时常量.

嗯...... 是的!

c# optional-parameters

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

新对象[] {}与Array.Empty &lt;object&gt;()

当我输入以下代码时:

object[] objects = new object[] { };
Run Code Online (Sandbox Code Playgroud)

Visual Studio告诉我:

避免不必要的零长度分配。请改用Array.Empty()。

使用一个在另一个之上有任何实际含义吗?

警告的原因是什么?

c# arrays

6
推荐指数
2
解决办法
702
查看次数