相关疑难解决方法(0)

C#string vs String,bool vs Boolean

string和String/bool和Boolean之间有什么不同吗?我更喜欢使用一个而不是其他一个?或者我应该尽量避免在这些类型之间进行转换(我已经注意到应用程序能够处理这种转换,但可能存在一些问题)......或者它只是毫无意义的问题?

c# string boolean

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

在C#中有什么区别:string vs String

可能重复:
在C#中,String和string之间有什么区别

在C#中有存在string而且存在System.String.

这些有什么区别?一个被认为更好地使用另一个.混合使用它们是否有任何隐患?

如果他们是相同的,那么为什么他们两个?为什么不拥有一个或另一个?

.net c# string

10
推荐指数
2
解决办法
866
查看次数

关于IsNullOrWhiteSpace()的快速提示中的"字符串"与"字符串"

在Visual Studio 2015中工作,我有一个条件检查效果:

if(String.IsNullOrWhiteSpace(stringToTest))
Run Code Online (Sandbox Code Playgroud)

我看到一个IDE001 快速提示或动作建议"名称可以简化",建议更正:

if(string.IsNullOrWhiteSpace(stringToTest))
Run Code Online (Sandbox Code Playgroud)

唯一的区别是使用string而不是String.

完全快速


MSDN示例使用大写字母S String,这个SO答案澄清" string在C#中是别名System.String.所以从技术上讲,没有区别."

要明确的是,我的问题依赖于字符串与字符串中的答案,但我有一个不同于那里的问题.

这个问题也是相关的,尽管那里的答案并没有真正解决这个问题.这个特殊问题与我的问题非常相似,但它被标记为我注意到的另一个SO问题的副本.而有评论由OP表示,这是全新的行为仅出现在2015年.


我的问题

我的问题是,如果两个变量类型是等价的,和MS的例子使用大写版本,为何会出现快速的操作来使用小写版本? .NET 4.6框架和VS2015是否有变化以鼓励使用小写版本?看起来我不应该看到这种类型的小费.

c# visual-studio-2015

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

字符串或字符串

可能重复:
在C#中,String和string之间有什么区别

字符串和字符串之间的区别是什么.在C#中,哪个更受欢迎?

.net c#

8
推荐指数
2
解决办法
8855
查看次数

在数组中的每个项目后打印逗号(,)

假设我有一个项目的数组(或列表)

A[] = [a,b,c,d,e]
Run Code Online (Sandbox Code Playgroud)

如果我想打印出来,所以每个项目都用逗号(或任何其他分隔符)分隔,我通常必须这样做:

for(int i=0; i < A.Count; i++)
{
    Console.Write(A[i]);

    if (i != A.Count-1)
        Console.Write(",");
}
Run Code Online (Sandbox Code Playgroud)

所以,我的输出看起来像:

a,b,c,d,e
Run Code Online (Sandbox Code Playgroud)

是否有更好或更简洁的方法来实现这一目标?

我喜欢使用foreach循环,但是在最后一个元素之后也会打印一个逗号,这是不可取的.

c#

8
推荐指数
3
解决办法
9142
查看次数

C#.Net不区分大小写的字符串

为什么C#.Net允许字符串对象的声明不区分大小写?

String sHello = "Hello";
string sHello = "Hello";
Run Code Online (Sandbox Code Playgroud)

单词String的小写和大写S都是可接受的,这似乎是允许这个的唯一对象.

有谁能解释为什么?

.net c#

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

我可以为我自己的类定义C#别名/关键字,如int,string,object吗?

不是关于using foo = MyPackage.Foo;

我意识到这更多地与IDE(Visual Studio 2010)有关,它向我展示了蓝色的特殊类型.我想我的一些课程.我希望它是蓝色的 (呈现为特殊的)并且可以在整个项目中访问.

原因是我想给他们意义/重要性,以便我的团队中的每个人都知道这个课程是整个项目的关键课程.

// "foo" and "Foo" shall be just the same type:
foo:     MyPackage.Foo

object:  System.Object
string:  System.String
bool:    System.Boolean
byte:    System.Byte
sbyte:   System.SByte
short:   System.Int16
ushort:  System.UInt16
int:     System.Int32
uint:    System.UInt32
long:    System.Int64
ulong:   System.UInt64
float:   System.Single
double:  System.Double
decimal: System.Decimal
char:    System.Char
Run Code Online (Sandbox Code Playgroud)

那可能吗 ?如果我的IDE安装中有一个文件,里面会有上面的关键字,我可以添加一些关键字并保存并重新启动IDE?

要有两个班级,我可以这样做.这是同一个班级的两个名字.我知道我需要在这些之间施展.

public class foo : Foo
{ }
Run Code Online (Sandbox Code Playgroud)

c# alias types visual-studio

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

匿名类数组和对象数组有什么区别?

我不明白之间的差别Anonymous Class,并object Class

如果我有一个匿名类型对象:

var x = new []
        {
            new {name = "x", phone = 125},
            new {name = "f", phone = 859},
            new {name="s",phone=584}
        };
Run Code Online (Sandbox Code Playgroud)

我可以看到我如何迭代它并获得这些属性的值 x.name ...

但如果我改成这个 object

var x = new Object[]
        {
            new {name = "x", phone = 125},
            new {name = "f", phone = 859},
            new {name="s",phone=584}
        };
Run Code Online (Sandbox Code Playgroud)

那么如果我循环通过它我将无法访问属性?我已经尝试了不同的方法来从这个对象获取值,但我失败了,可能是我错过了什么?什么是生成点,object array我该如何消费呢?

我知道我不能做这样的事情: new Object[] {name = 'x' ...

c#

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

如何防止生成的接口实现使用类型别名?

我目前正在使用Visual Studio(特别是2012 Express).我有一个接口已经定义如下:

interface IMyInterface
{
    public String Data { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果我有一个空类:

class MyClass : IMyInterface
{
}
Run Code Online (Sandbox Code Playgroud)

我右键单击IMyInterface,我可以选择"实现接口".当我这样做时,自动生成的代码产生以下内容:

class MyClass : IMyInterface
{
    public string Data
    {
        get
        {
            throw new NotImplementedException();
        }
        set
        {
            throw new NotImplementedException();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,有没有办法可以自动生成以下内容:

    public String Data
Run Code Online (Sandbox Code Playgroud)

代替:

    public string Data
Run Code Online (Sandbox Code Playgroud)

c# visual-studio visual-studio-2012

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

在 XML 文档中将 &lt;see cref=""/&gt; 与可选且可为空的参数结合使用

在为我的程序编写 XML 文档时,我在记录此方法时遇到了一个问题:

internal void MethodB(int i, DateTime? date = null);
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是特定于参数的date。正如您所看到的,它是可选的并且可以为 null。以下是我尝试记录此方法的方法:

/// <summary>
/// This method uses <see cref="MethodB(Int32, System.DateTime)"/> internally
/// todo some stuff.
/// </summary>
Run Code Online (Sandbox Code Playgroud)

具体来说,我收到一条编译器警告,表明无法解析cref的值。

如何修复 XML 文档注释,使其在编译时不会出现此警告?

c# documentation nullable optional-parameters visual-studio

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