我想在我的Equals方法中比较几个集合的内容.我有一个词典和一个IList.有没有内置的方法来做到这一点?
编辑:我想比较两个字典和两个IList,所以我认为平等意味着什么是明确的 - 如果两个字典包含映射到相同值的相同键,那么它们是相等的.
我经常想要抓住IEnumerable<T>.net中的第一个元素,我还没有找到一个很好的方法来做到这一点.我提出的最好的是:
foreach(Elem e in enumerable) {
// do something with e
break;
}
Run Code Online (Sandbox Code Playgroud)
呸!那么,有一个很好的方法来做到这一点?
我在Visual Studio 2008中安装了一个插件,它创建了一些额外的可停靠窗口.我已经卸载它,我无法摆脱它创建的窗口 - 我关闭它们,但它们总是会回来.它们现在只是空窗口,因为插件不再存在,但我尝试过的任何东西都没有它们.我试过了:
有任何想法吗?
我正在尝试使用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) 我有一个用C#编写的应用程序,需要能够在Windows中配置网络适配器.我有这个基本上通过WMI工作,但有一些我不喜欢的解决方案:有时设置似乎没有坚持,并且当没有插入网络电缆时,WMI返回错误方法,所以我不知道他们是否真的成功了.
我需要能够通过网络连接配置所有可用的设置 - 属性 - TCP/IP屏幕.
最好的方法是什么?
我想将一个字符串放入一个字节数组,但字符串可能太大而不适合.在它太大的情况下,我想尽可能多地将字符串放入数组中.有没有一种有效的方法可以找出适合的字符数量?
我在使用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上运行了一个查询,并且有一条记录引用了这个表,但我认为这是未完成的更新.
我想知道两件事:可能导致更新挂起的原因是什么?
更重要的是,为什么这里不会抛出异常?我希望呼叫等待五秒钟,然后超时.
我有一个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类的一部分.
我想为通用TCP通信创建一个SSL连接.我想我在代码中找到了如何使用这里的信息:http : //msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx 我遇到了什么问题正在创建一个证书,所以我可以测试它.我尝试了makecert.exe testCert,并创建了一个证书,但显然它没有与之关联的私钥.所以我正在寻找的是创建证书并使连接正常工作的最简单的过程.
我有一些与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%的失败.