Tag: C#的

使用.NET随机化数组的最佳方法

用.NET随机化string数组的最佳方法是什么? 我的数组包含大约500个string,我想用相同的string,但随机顺序创build一个新的Array 。 请在答案中包含C#示例。

什么是最快/最有效的方法来find一个整数在C中的最高设置位(MSB)?

如果我有一个整数n,我想知道最重要的位的位置(也就是说,如果最低有效位是在右边,我想知道最左边的位是1)的位置,什么是最快/最有效的找出方法? 我知道POSIX在strings.h中支持一个ffs()方法来查找第一个设置位,但似乎没有对应的fls()方法。 有没有一些真正明显的做法,我失踪了? 如果你不能使用POSIX函数来实现可移植性呢? 编辑:如何在32位和64位体系结构上工作的解决scheme(许多代码清单看起来像只能在32位整数)。

正则expression式仅用于数字

我没有使用正则expression式,所以我有困难的故障排除。 我只想要包含的string是所有数字匹配的正则expression式; 但是下面的两个例子匹配一个包含所有数字的string加上一个等号“1234 = 4321”。 我相信有一种方法可以改变这种行为,但正如我所说,我从来没有用正则expression式做过很多事情。 string compare = "1234=4321"; Regex regex = new Regex(@"[\d]"); if (regex.IsMatch(compare)) { //true } regex = new Regex("[0-9]"); if (regex.IsMatch(compare)) { //true } 万一它很重要,我使用C#和.NET2.0。

如何删除“知道”操作数数组的大小?

Foo* set = new Foo[100]; // … delete [] set; 你不通过数组的边界来delete[] 。 但是,这些信息存储在哪里? 它是标准化的吗?

你可以调用Directory.GetFiles()与多个filter?

我正在尝试使用Directory.GetFiles()方法来检索多种types的文件,如mp3和jpg的列表。 我已经尝试了以下两个没有运气: Directory.GetFiles("C:\\path", "*.mp3|*.jpg", SearchOption.AllDirectories); Directory.GetFiles("C:\\path", "*.mp3;*.jpg", SearchOption.AllDirectories); 有一个方法可以在一个电话中做到这一点?

为什么要使用“PIMPL”习语呢?

背景资料: PIMPL成语 (实现指针)是一种实现隐藏的技术,在这种技术中,公共类包装一个结构或类,这些结构或类在公共类所属的库之外是看不到的。 这隐藏了库的用户的内部实现细节和数据。 当实现这个习惯用法时,为什么要把公共方法放在pimpl类而不是公共类中,因为公共类方法的实现将被编译到库中,而用户只有头文件? 为了说明,这段代码把Purr()实现放在impl类上,并且包装它。 为什么不直接在公共课上实施Purr? // header file: class Cat { private: class CatImpl; // Not defined here CatImpl *cat_; // Handle public: Cat(); // Constructor ~Cat(); // Destructor // Other operations… Purr(); }; // CPP file: #include "cat.h" class Cat::CatImpl { Purr(); … // The actual implementation can be anything }; Cat::Cat() […]

将string转换为整数C

我试图找出是否有一个替代方法转换string为整数在C 我定期在我的代码中设置以下内容。 char s[] = "45"; int num = atoi(s); 那么,有没有更好的方法或另一种方式?

#pragma曾经vs包括卫兵?

我正在研究一个只能在Windows上运行的代码库,并在Visual Studio下编译(它与Excel紧密集成,因此不会在任何地方)。 我想知道是否应该使用传统的包含守卫或使用#pragma once为我们的代码。 我认为让编译器处理#pragma once会产生更快的编译,并且在应对和粘贴时不易出错。 它也稍微不那么丑陋;) 注意:为了获得更快的编译时间,我们可以使用Redundant Include Guards,但是增加了包含文件和包含文件之间的紧密耦合。 通常这是可以的,因为守卫应该基于文件名,并且只有在你需要改变包含名时才会改变。

为什么scanf()需要“%lf”作为双打,printf()可以用“%f”吗?

为什么scanf()在读取double时需要“ %lf ”中的l ,而printf()可以使用“ %f ”而不pipe其参数是double还是float ? 示例代码: double d; scanf("%lf", &d); printf("%f", d);

C / C ++中字符的大小('a')

C和C ++中字符的大小是多less? 据我所知在C和C + +字符的大小是1个字节。 在C: #include <stdio.h> int main() { printf("Size of char : %d\n",sizeof(char)); return 0; } 在C ++中: #include <iostream> int main() { std::cout<<"Size of char : "<<sizeof(char)<<"\n"; return 0; } 没有意外,他们都给出了输出: Size of char : 1 现在我们知道字符表示为'a' , 'b' , 'c' , '|' ,…所以我只是修改了上面的代码到这些: 在C: #include <stdio.h> int main() { char […]