小编naw*_*fal的帖子

对象初始值设定项和构造函数之间有什么区别?

两者之间有什么区别?何时使用"对象初始值设定项"而不是"构造函数",反之亦然?我正在使用C#,如果这很重要的话.另外,对象初始化方法是否特定于C#或.NET?

.net c# constructor object-initializer

163
推荐指数
4
解决办法
8万
查看次数

如何从List <string>中查找所有重复项?

我有一个List<string>重复的单词.我需要找到所有重复的单词.

什么技巧让他们全部?

c# list duplicates

115
推荐指数
5
解决办法
14万
查看次数

查找数组中值的索引

linq可以用某种方式来查找数组中值的索引吗?

例如,此循环在数组中定位键索引.

for (int i = 0; i < words.Length; i++)
{
    if (words[i].IsKey)
    {
        keyIndex = i;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# linq arrays

107
推荐指数
4
解决办法
13万
查看次数

HashSet <T>与Dictionary <K,V>搜索时间以查找项目是否存在

HashSet<T> t = new HashSet<T>();
// add 10 million items


Dictionary<K, V> t = new Dictionary<K, V>();
// add 10 million items.
Run Code Online (Sandbox Code Playgroud)

谁的.Contains方法会更快返回?

只是为了澄清,我的要求是我有1000万个对象(嗯,真的是字符串),我需要检查它们是否存在于数据结构中.我永远不会迭代.

.net performance dictionary hashset

101
推荐指数
4
解决办法
7万
查看次数

只允许.NET中的唯一项目的集合?

C#中是否有一个集合不允许您向其添加重复项?例如,与愚蠢的类

public class Customer {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Address { get; set; }

    public override int GetHashCode() {
        return (FirstName + LastName + Address).GetHashCode();
    }

    public override bool Equals(object obj) {
        Customer C = obj as Customer;
        return C != null && String.Equals(this.FirstName, C.FirstName) && String.Equals(this.LastName, C.LastName) && String.Equals(this.Address, C.Address);
    }
}
Run Code Online (Sandbox Code Playgroud)

以下代码(显然)将抛出异常:

Customer Adam = new Customer { Address = "A", FirstName = "Adam", LastName = …
Run Code Online (Sandbox Code Playgroud)

c# set hashset

98
推荐指数
4
解决办法
9万
查看次数

如何检查类型是否提供无参数构造函数?

我想检查运行时已知的类型是否提供无参数构造函数.这Type堂课并没有带来任何好处,所以我假设我必须使用反思?

.net c# reflection constructor types

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

连接字符串中的"服务器"与"数据源"

我是SqlServer的新手,现在我已SqlLocalDb安装在本地工作.很好,但我通常可以看到两个连接字符串,两者都有效:

Data Source=(localdb)\v11.0;Integrated Security=true;
Run Code Online (Sandbox Code Playgroud)

Server=(localdb)\v11.0;Integrated Security=true;
Run Code Online (Sandbox Code Playgroud)

这两者之间究竟有什么区别?

sql-server connection-string sqldatasource localdb

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

将参数传递给EventHandler

我有以下内容EventHandler,我添加了一个参数MusicNote音乐:

public void PlayMusicEvent(object sender, EventArgs e,MusicNote music)
{
    music.player.Stop();
    System.Timers.Timer myTimer = (System.Timers.Timer)sender;
    myTimer.Stop();
}
Run Code Online (Sandbox Code Playgroud)

我需要将处理程序添加到Timer类似的内容中:

myTimer.Elapsed += new ElapsedEventHandler(PlayMusicEvent(this, e, musicNote));
Run Code Online (Sandbox Code Playgroud)

但得到错误:

"方法名称预期"

编辑:在这种情况下,我只是从包含此代码片段的方法传递e,我将如何传递计时器自己的EventArgs

c# parameter-passing event-handling

94
推荐指数
2
解决办法
14万
查看次数

使用反射在C#中创建没有默认构造函数的类型实例

以下面的课程为例:

class Sometype
{
    int someValue;

    public Sometype(int someValue)
    {
        this.someValue = someValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我想使用反射创建这种类型的实例:

Type t = typeof(Sometype);
object o = Activator.CreateInstance(t);
Run Code Online (Sandbox Code Playgroud)

通常这会起作用,但是由于SomeType没有定义无参数构造函数,调用Activator.CreateInstance将抛出类型异常,MissingMethodException并带有消息" 没有为此对象定义无参数构造函数. "是否还有另一种方法可以创建此类型的实例?将无参数构造函数添加到我的所有类中会有点麻烦.

c# reflection instantiation default-constructor

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

从列表中获取唯一项目

从列表中获取所有不同项目的最快/最有效方法是什么?

我有一个List<string>可能有多个重复项目,只想要列表中的唯一值.

c# list unique

89
推荐指数
5
解决办法
16万
查看次数