Tag: 向量

C#列表是否像C ++列表一样?

我只是想知道C#List是否像C ++ List一样。 在C ++中删除大列表中间的元素很快,因为我知道元素只是指向下一个元素。 因此,在大型C#列表中删除元素时,是否与C ++中的相同? 或者C#列表更像是带有索引的C ++向量,因为您可以获得C#列表中元素的索引号。

TripleDES IV适用于C#?

所以,当我说出类似的话: TripleDES tripledes = TripleDES.Create(); Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(password, plain); tripledes.Key = pdb.GetBytes(16); tripledes.IV = pdb.GetBytes(16); 我收到一个错误。 错误曾经在密钥上,但它已被修复(我认为 – 除非你发现错误)。 但是,当我设置IV时发生错误: tripledes.IV = pdb.GetBytes(16); 它说它不是一个有效的初始化向量。 我如何解决它?

高效 – 在c#中使用两个向量进行对称矩阵乘法

按照以下步骤,从cMinor中有效地复制c-sharp中的对称矩阵 。 关于如何通过使用矩阵的数组实现来构建具有一个行向量和一个列向量的对称方矩阵乘法的一些输入,我将非常有趣,而不是经典 long s = 0; List columnVector = new List(N); List lineVector = new List(N); //- init. vectors and symmetric square matrix m for (int i=0; i < N; i++) { for(int j=0; j < N; j++){ s += lineVector[i] * columnVector[j] * m[i,j]; } } 感谢您的输入 !

C ++ Vector就像C#中的类

C#中C ++ std::vector的类似类是什么? 我想要一个类,它内部保持一个内部数组,并支持在O(1)时间插入后面。

在C#中有一个List 的方法,比如在c ++中为vector 重新resize

当我在C ++中对vector使用resize(int newsize)时,意味着此vector的size设置为newsize ,索引在范围[0..newsize)运行。 如何在C#中为List做同样的事情? 更改List属性Capacity仅更改Capacity但使Count保持不变,此外索引仍在[0..Count)范围内。 请帮帮我。 PS想象一下我有一个vector tmp与tmp.size() == 5我不能参考tmp[9] ,但是当我然后使用tmp.resize(10)我可以参考tmp[9] 。 在C#中如果我有List tmp和tmp.Count == 5我不能引用tmp[9] ( IndexOutOfRangeException ),但即使我设置tmp.Capacity=10我也无法引用tmp[9]因为tmp.Count仍然是5.我想在C#中找到一些resize的类比。

无法重现:C ++ Vector性能优于C#List性能

在微软的BUILD大会上,Herb Sutter解释说C ++有“Real Arrays”和C#/ Java语言没有相同或类似。 我被卖掉了。 你可以在http://channel9.msdn.com/Events/Build/2014/2-661观看完整的演讲 这是幻灯片的快照,他描述了这一点。 http://sofzh.miximages.com/c%23/DQaiF.png 但是我想知道我会有多大的不同。 所以我编写了非常天真的测试程序,它从一个文件中创建一个大的字符串向量,行数从5个字符到50个字符不等。 链接到文件: www (dot) dropbox.com/s/evxn9iq3fu8qwss/result.txt 然后我按顺序访​​问它们。 我在C#和C ++中都做过这个练习。 注意:我做了一些修改,按照建议删除了循环中的复制。 感谢您帮助我理解Real数组。 在C#中,我使用了List和ArrayList,因为不推荐使用ArrayList而使用List。 以下是我的戴尔笔记本电脑与Core i7处理器的结果: count C# (List) C# (ArrayList) C++ 1000 24 ms 21 ms 7 ms 10000 214 ms 213 ms 64 ms 100000 2 sec 123 ms 2 sec 125 ms 678 ms C#代码: […]

自定义编译时检查

我不认为这个问题已经(或可以)得到解答,或者至少我没有找到答案:是否可以创建自定义编译时检查? 具体情况是我正在编程量子空间计算器,虽然你可以有向量(1,0,0)和(1,0),但我应该修改它们之间的某些操作,因为它们属于某些空格。 更重要的是,你可以拥有(1,0)和(1,0),但它们都不属于相同的空间,因此它们之间的操作会有所不同。 但是我找不到一个聪明的(不是运行时)方法来做这个,因为它们都属于同一个类,所以它们有相同的运算符! 另外,向量的大小是任意的(从0到无穷大)所以我不能把它们作为“元组”的所有类。

将vector {1,2,3}转换为字符串“1-2-3”AS DIGITS

我想在屏幕上的std::vector显示数字,但是在前往收件人的路上,我需要将这些数字填充到std::string 。 无论我尝试了什么( atoi , reinterpret_cast , string.c_str() …),都给了我一些废话或者那些原始数字的字母表示 – 即它们对应的ascii字符。 那么我如何轻松(最好是标准方法)将vector {1,2,3}转换为string “1-2-3” ? 在我提到的原帖(后来编辑)中,我可以用C#或Java做到这一点。 根据πάνταῥεῖ的要求提供C#或Java中的示例,这里有一个快速的Linq C#方式: public static string GetStringFromListNumData(List lNumData) { // if (typeof(T) != typeof(IConvertible)) throw new ArgumentException(“Expecting only types that implement IConvertible !”); string myString = “”; lNumData.ForEach(x => myString += x + “-“); return myString.TrimEnd(‘-‘); }