小编TK.*_*TK.的帖子

'ref'和'out'关键字之间有什么区别?

我正在创建一个函数,我需要传递一个对象,以便它可以被函数修改.有什么区别:

public void myFunction(ref MyClass someClass)
Run Code Online (Sandbox Code Playgroud)

public void myFunction(out MyClass someClass)
Run Code Online (Sandbox Code Playgroud)

我应该使用哪个以及为什么?

c# reference ref out keyword

851
推荐指数
15
解决办法
37万
查看次数

使用LINQ从List <T>中删除元素

假设我有LINQ查询,例如:

var authors = from x in authorsList
              where x.firstname == "Bob"
              select x;
Run Code Online (Sandbox Code Playgroud)

鉴于它authorsList是类型List<Author>,我如何删除查询返回的Author元素?authorsListauthors

或者换句话说,如何删除所有名字等于Bob的名字authorsList

注意:这是用于问题目的的简化示例.

.net c# linq list

633
推荐指数
12
解决办法
57万
查看次数

467
推荐指数
4
解决办法
42万
查看次数

如何使我的C#程序睡眠50毫秒?

如何让我的C#程序睡眠50毫秒?

这似乎是一个简单的问题,但我有一个暂时的大脑失败时刻!

c# vb.net

264
推荐指数
8
解决办法
33万
查看次数

确定文本文件中的行数

有一种简单的方法可以以编程方式确定文本文件中的行数吗?

c# input text-files

198
推荐指数
5
解决办法
25万
查看次数

有没有关于开发C#编码标准/最佳实践文档的建议?

我是最近的AI毕业生(大约2年),从事适度的操作.它已经落到我身上(主要是因为我是该部门的第一个"采用者")来创建一个基本的(阅读有用的?)C#编码标准文档.

我想我应该解释一下,我可能是最初级的软件工程师,但我期待着这项任务,希望我实际上可以生产出一半可用的东西.我已经对互联网进行了大量的搜索,并阅读了有关编码标准文档应该/不应该包含的内容的文章.这似乎是一个很好的地方,可以提出一些建议.

我意识到,我可能会打开一扇门,通往一个关于"最好的做事方式"的分歧.我既理解又尊重不可否认的事实,即每个程序员都有一个解决每个任务的首选方法,因此我不打算写任何如此严厉的禁止,以至于扼杀个人风格,而是试图获得一般方法并达成一致标准(例如命名约定),以帮助使个人代码更具可读性.

所以这里......任何建议?有没有?

c# standards procedure

159
推荐指数
9
解决办法
7万
查看次数

C#通过枚举迭代?(索引System.Array)

我有以下代码:

// Obtain the string names of all the elements within myEnum 
String[] names = Enum.GetNames( typeof( myEnum ) );

// Obtain the values of all the elements within myEnum 
Array values = Enum.GetValues( typeof( myEnum ) );

// Print the names and values to file
for ( int i = 0; i < names.Length; i++ )
{
    print( names[i], values[i] ); 
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法索引值.有更简单的方法吗?

或者我完全错过了什么!

c# iteration enums system.array

109
推荐指数
5
解决办法
12万
查看次数

在List <T>和IEnumerable <T>之间自由转换

我怎么能转换List<MyObject>IEnumerable<MyObject>,然后再回来?

我想这样做是为了在List上运行一系列LINQ语句,例如 Sort()

c# linq ienumerable list

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

延迟功能调用

是否有一个很好的简单方法来延迟函数调用,同时让线程继续执行?

例如

public void foo()
{
    // Do stuff!

    // Delayed call to bar() after x number of ms

    // Do more Stuff
}

public void bar()
{
    // Only execute once foo has finished
}
Run Code Online (Sandbox Code Playgroud)

我知道这可以通过使用计时器和事件处理程序来实现,但我想知道是否有一种标准的c#方式来实现这一目标?

如果有人好奇,那么需要的原因是foo()和bar()在不同的(单例)类中,我需要在特殊情况下相互调用.问题是这是在初始化时完成的,所以foo需要调用bar,它需要一个正在创建的foo类的实例...因此延迟调用bar()以确保foo完全实例化.读回来几乎是糟糕的设计!

编辑

我会在建议下接受关于糟糕设计的观点!我一直认为我可能能够改进系统,但是,这种令人讨厌的情况只会在抛出异常时发生,而在其他所有其他时候两个单身人士共存非常好.我认为我不会讨厌令人讨厌的异步模式,而是我要重构其中一个类的初始化.

c# function delay

80
推荐指数
5
解决办法
11万
查看次数

C#int枚举转换

可能重复:
在C#中将int转换为枚举

如果我有以下代码:

enum foo : int
{
    option1 = 1,
    option2,
    ...
}

private foo convertIntToFoo(int value)
{
    // Convert int to respective Foo value or throw exception
}
Run Code Online (Sandbox Code Playgroud)

转换代码会是什么样的?

c# enums

54
推荐指数
4
解决办法
10万
查看次数