小编Tim*_*imK的帖子

是否有内置的方法来比较集合?

我想在我的Equals方法中比较几个集合的内容.我有一个词典和一个IList.有没有内置的方法来做到这一点?

编辑:我想比较两个字典和两个IList,所以我认为平等意味着什么是明确的 - 如果两个字典包含映射到相同值的相同键,那么它们是相等的.

.net c# collections

170
推荐指数
6
解决办法
8万
查看次数

如何从.net中的IEnumerable <T>获取第一个元素?

我经常想要抓住IEnumerable<T>.net中的第一个元素,我还没有找到一个很好的方法来做到这一点.我提出的最好的是:

foreach(Elem e in enumerable) {
  // do something with e
  break;
}
Run Code Online (Sandbox Code Playgroud)

呸!那么,有一个很好的方法来做到这一点?

.net c#

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

我如何真正重置Visual Studio窗口布局?

我在Visual Studio 2008中安装了一个插件,它创建了一些额外的可停靠窗口.我已经卸载它,我无法摆脱它创建的窗口 - 我关闭它们,但它们总是会回来.它们现在只是空窗口,因为插件不再存在,但我尝试过的任何东西都没有它们.我试过了:

  • 窗口 - >重置窗口布局
  • 删除项目目录中的.suo文件
  • 删除"应用程序设置"目录中的Visual Studio 9.0文件夹

有任何想法吗?

visual-studio

118
推荐指数
7
解决办法
11万
查看次数

"填充无效,无法删除"使用AesManaged

我正在尝试使用AesManaged进行简单的加密/解密,但在尝试关闭解密流时我一直遇到异常.这里的字符串被正确加密和解​​密,然后在Console.WriteLine输出正确的字符串后,我得到CryptographicException"Padding无效且无法删除".

有任何想法吗?

MemoryStream ms = new MemoryStream();
byte[] rawPlaintext = Encoding.Unicode.GetBytes("This is annoying!");

using (Aes aes = new AesManaged())
{
  aes.Padding = PaddingMode.PKCS7;
  aes.Key = new byte[128/8];
  aes.IV = new byte[128/8];

  using (CryptoStream cs = new CryptoStream(ms, aes.CreateEncryptor(),
                                            CryptoStreamMode.Write))
  {
    cs.Write(rawPlaintext, 0, rawPlaintext.Length);
    cs.FlushFinalBlock();
  }

  ms = new MemoryStream(ms.GetBuffer());
  using (CryptoStream cs = new CryptoStream(ms, aes.CreateDecryptor(),
                                            CryptoStreamMode.Read))
  {
    byte[] rawData = new byte[rawPlaintext.Length];
    int len = cs.Read(rawData, 0, rawPlaintext.Length);
    string s = Encoding.Unicode.GetString(rawData);
    Console.WriteLine(s);
  }
}
Run Code Online (Sandbox Code Playgroud)

.net c# encryption

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

在.NET中以编程方式配置网络适配器的最佳方法

我有一个用C#编写的应用程序,需要能够在Windows中配置网络适配器.我有这个基本上通过WMI工作,但有一些我不喜欢的解决方案:有时设置似乎没有坚持,并且当没有插入网络电缆时,WMI返回错误方法,所以我不知道他们是否真的成功了.

我需要能够通过网络连接配置所有可用的设置 - 属性 - TCP/IP屏幕.

最好的方法是什么?

.net c# wmi

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

如何在C#中转换为字节时截断字符串?

我想将一个字符串放入一个字节数组,但字符串可能太大而不适合.在它太大的情况下,我想尽可能多地将字符串放入数组中.有没有一种有效的方法可以找出适合的字符数量?

.net c# arrays string truncate

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

Oracle Update挂起

我在使用Oracle更新时遇到了问题.对ExecuteNonQuery的调用无限期挂起.

代码:

using (OracleCommand cmd = new OracleCommand(dbData.SqlCommandStr, conn))
{
    foreach (string colName in dbData.Values.Keys)
        cmd.Parameters.Add(colName, dbData.Values[colName]);

    cmd.CommandTimeout = txTimeout;
    int nRowsAffected = cmd.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)

CommandTimeout设置为5,参数设置为小整数值.

查询:

UPDATE "BEN"."TABLE03" SET "COLUMN03"=:1,"COLUMN04"=:2 WHERE COLUMN05 > 0
Run Code Online (Sandbox Code Playgroud)

查询从sqlplus快速运行,并且通常从我的代码快速运行,但每隔一段时间它就会永远挂起.

我在v $ locked_object上运行了一个查询,并且有一条记录引用了这个表,但我认为这是未完成的更新.

我想知道两件事:可能导致更新挂起的原因是什么?

更重要的是,为什么这里不会抛出异常?我希望呼叫等待五秒钟,然后超时.

.net database oracle

9
推荐指数
2
解决办法
7387
查看次数

如何从C#中的LinkedList中删除与给定条件匹配的元素?

我有一个LinkedList,其中Entry有一个名为id的成员.我想从id匹配搜索值的列表中删除Entry.最好的方法是什么?我不想使用Remove(),因为Entry.Equals会比较其他成员,我只想匹配id.我希望做一些像这样的事情:

entries.RemoveWhereTrue(e => e.id == searchId);
Run Code Online (Sandbox Code Playgroud)

编辑:有人可以为我重新打开这个问题吗?这不是重复 - 它应该是重复的问题是关于List类.List.RemoveAll不起作用 - 这是List类的一部分.

.net c# data-structures

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

如何在.NET中为SSL连接设置测试证书?

我想为通用TCP通信创建一个SSL连接.我想我在代码中找到了如何使用这里的信息:http : //msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx 我遇到了什么问题正在创建一个证书,所以我可以测试它.我尝试了makecert.exe testCert,并创建了一个证书,但显然它没有与之关联的私钥.所以我正在寻找的是创建证书并使连接正常工作的最简单的过程.

.net

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

JDBC连接因ORA-12516而失败

我有一些与Oracle-11g XE对话的单元测试.单独运行每个测试工作正常,但是当我全部运行它们时,前几个通过,其余的在尝试创建数据库连接时失败并出现此错误:

ORA-12516, TNS:listener could not find available handler with matching protocol stack
Run Code Online (Sandbox Code Playgroud)

无论我运行测试的顺序如何,都会发生这种情况,因此问题似乎是我在数据库服务器上使用了某种资源.

我尝试慢慢运行测试,并在运行期间检查正在使用的连接数:

select count(*) from v$session;
Run Code Online (Sandbox Code Playgroud)

会话数总是在26到28之间徘徊,限制设置为49,所以我不确定问题是什么.

如果我快速运行测试,问题也会变得更糟.当我在没有任何延迟的情况下运行它们时,90%会因此错误而失败.我在tearDown()中进行了一次睡眠,以便更好地了解发生了什么,在这种情况下只有大约10%的失败.

oracle jdbc oracle-xe

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