Tag: C#的

LINQ聚合algorithm解释

这可能听起来很蹩脚,但我一直没能find一个很好的解释Aggregate 。 好的意思是简短的,描述性的,全面的,小而清晰的例子。

在英特尔Sandybridge系列CPU中为pipe道优化一个程序

为了完成这个任务,我一直在想我的大脑一个星期,我希望这里有人能带领我走向正确的道路。 让我从讲师的指示开始: 你的任务与我们第一个实验任务相反,那就是优化素数程序。 你在这个任务中的目的是让程序变得悲观,也就是让它运行得更慢。 这两个都是CPU密集型的程序。 他们需要几秒钟在我们的实验室PC上运行。 你不能改变algorithm。 为了使程序最优化,请使用您对Intel i7pipe道运行方式的了解。 想象一下如何重新排列指令path来引入WAR,RAW和其他危险。 想想如何最大限度地减lesscaching的有效性。 是恶魔无能。 这项任务给了Whetstone或Monte-Carlo项目的select。 caching有效性评论大多只适用于Whetstone,但我select了Monte-Carlo模拟程序: // Un-modified baseline for pessimization, as given in the assignment #include <algorithm> // Needed for the "max" function #include <cmath> #include <iostream> // A simple implementation of the Box-Muller algorithm, used to generate // gaussian random numbers – necessary for the […]

与项目欧拉速度比较:C vs Python与Erlang vs Haskell

我把Project Euler的 问题#12作为一个编程练习,比较了C,Python,Erlang和Haskell中的我的(当然不是最优的)实现。 为了获得更高的执行时间,我search了第一个有1000个以上因子的三angular形数字,而不是原始问题中所述的500。 结果如下: C: lorenzo@enzo:~/erlang$ gcc -lm -o euler12.bin euler12.c lorenzo@enzo:~/erlang$ time ./euler12.bin 842161320 real 0m11.074s user 0m11.070s sys 0m0.000s python: lorenzo@enzo:~/erlang$ time ./euler12.py 842161320 real 1m16.632s user 1m16.370s sys 0m0.250s Python与PyPy: lorenzo@enzo:~/Downloads/pypy-c-jit-43780-b590cf6de419-linux64/bin$ time ./pypy /home/lorenzo/erlang/euler12.py 842161320 real 0m13.082s user 0m13.050s sys 0m0.020s 二郎: lorenzo@enzo:~/erlang$ erlc euler12.erl lorenzo@enzo:~/erlang$ time erl -s euler12 solve […]

扩展方法如何工作?

我想在Unity3d中为Vector3类做一个扩展方法。 但我似乎不太明白。 这是我的: public static class ExtensionMethods{ public static Vector3 MaxValue(this Vector3 _vec3) { return new Vector3(float.MaxValue,float.MaxValue,float.MaxValue); } } 现在我想使用Vector3.MaxValue这个代码行来创build一个Vector3.MaxValue : Vector3 closestPoint = Vector3.MaxValue; 但是,然后我得到这个错误: error CS0117: `UnityEngine.Vector3' does not contain a definition for `MaxValue' 我知道这将工作: Vector3 closestPoint = new Vector3().MaxValue(); 但是,我创build了2个新的Vector3实例。 一个在MaxValue调用,一个在外面。 是不是可以做一个这样的代码: Vector3 closestPoint = Vector3.MaxValue;

^,$什么时候在正则expression式中使用这个符号?

Owner Owner: ABC Address: XYZ Information 这是我想要匹配的模式。 我想匹配所有者和信息之间的细节,但不包括使用正则expression式的标题, (?<=(\s*Owner))(.|\n)*?(?=\s*Information) 当我尝试追加^和$更准确时,它不匹配。 (?<=(/^\s*Owner))(.|\n)*?(?=\s*Information/$) 你能帮我吗?

免费字符*:无效的下一个大小(快)

在连接过程之后,我释放了char *。 但是我收到这个错误: 免费():无效的下一个大小(快):0x0000000001b86170 以下是我的代码: void concat(stringList *list) { char *res = (char*)malloc(sizeof(char*)); strcpy(res, list->head->string); list->tmp = list->head->next; while (list->tmp != NULL) { strcat(res, ","); strcat(res, list->tmp->string); list->tmp = list->tmp->next; } printf("%s\n", res); free(res); }

Unity如何在Unity中制作Visual JoyStick

我正在写一个脚本来放一个button,将检测拖动方向来移动播放器 void OnGUI() { if (buttonRect.Contains(Event.current.mousePosition)) { if (Event.current.type == EventType.MouseDown) { buttonPressed = true; } if (Event.current.type == EventType.MouseUp) { buttonPressed = false; } } if (buttonPressed && Event.current.type == EventType.MouseDrag) { } } 如果这个脚本被放置在一个button上,我怎样才能得到button界限为一个矩形? 此外,如果任何人有一个更好的解决scheme,通过拖动控制运动,我会开放的build议。

这是一个指向数组的开始指针?

我刚刚帮助一些代码。 他有这个: char dataArray[10]; 然后想获得一个指向数组的开始的指针。 而不是使用: &dataArray[0] 要不就 dataArray 他曾经 &dataArray 他最终有一个指针指向那里的指针? 我不确定数据&dataArray会给他什么。

随机数字发生器没有重复

基本上我创build一个程序,随机生成6个独特的彩票号码,所以没有重复在同一行,这里是我到目前为止的代码… //Generate 6 random numbers using the randomiser object int randomNumber1 = random.Next(1, 49); int randomNumber2 = random.Next(1, 49); int randomNumber3 = random.Next(1, 49); int randomNumber4 = random.Next(1, 49); int randomNumber5 = random.Next(1, 49); int randomNumber6 = random.Next(1, 49); textBox1.Text = randomNumber1.ToString(); textBox2.Text = randomNumber2.ToString(); textBox3.Text = randomNumber3.ToString(); textBox4.Text = randomNumber4.ToString(); textBox5.Text = randomNumber5.ToString(); textBox6.Text […]

如果使用错误的格式string调用printf,会发生什么情况?

换句话说:错误的printf / fprintf十进制整数( %d , %u , %ld , %lld )格式string会导致程序崩溃或导致未定义的行为? Cosinder按照以下代码行: #include <iostream> #include <cstdio> int main() { std::cout << sizeof(int) << std::endl << sizeof(long) << std::endl; long a = 10; long b = 20; std::printf("%d, %d\n", a, b); return 0; } 结果在32位架构上: 4 4 10, 20 64位体系结构上的结果: 4 8 10, 20 在任何情况下程序打印预期的结果。 我知道,如果long值超出int范围,程序就会输出错误的数字 […]