Tag: C#的

在WPF中创build一个菜单栏?

我想在我的WPF应用程序中创build一个与Windows窗体中的菜单栏相同的菜单栏。 我将如何做到这一点? WPF控件工具箱中的菜单选项只提供一个空白栏。

查找数组中的值的索引

可以用linq以某种方式查找数组中的值的索引吗? 例如,这个循环在数组中定位键索引。 for (int i = 0; i < words.Length; i++) { if (words[i].IsKey) { keyIndex = i; } }

C#和Java三元运算符的区别(?:)

我是一个C#新手,我只是遇到一个问题。 处理三元运算符( ? : :)时,C#和Java是有区别的。 在下面的代码段中,为什么第四行不起作用? 编译器显示there is no implicit conversion between 'int' and 'string'的错误消息。 第五行不起作用。 两个List都是对象,不是吗? int two = 2; double six = 6.0; Write(two > six ? two : six); //param: double Write(two > six ? two : "6"); //param: not object Write(two > six ? new List<int>() : new List<string>()); //param: not […]

为什么在C ++中,我们使用DWORD而不是unsigned int?

我不害怕承认我是一个C ++新手,所以这可能看起来像一个愚蠢的问题,但…. 我在代码示例中看到DWORD在各处使用。 当我查找DWORD的真正含义时,它显然只是一个无符号整数(0到4,294,967,295)。 所以我的问题是,为什么我们有DWORD? 它是什么给我们的整型“unsigned int”不? 这与便携性和机器差异有关吗?

为什么只定义一个macros,如果它还没有定义?

在我们的C代码基础上,我看到每个macros定义如下: #ifndef BEEPTRIM_PITCH_RATE_DEGPS #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #endif #ifndef BEEPTRIM_ROLL_RATE_DEGPS #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #endif #ifndef FORCETRIMRELEASE_HOLD_TIME_MS #define FORCETRIMRELEASE_HOLD_TIME_MS 1000.0f #endif #ifndef TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS #define TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS 50.0f #endif 做这些定义检查的基本原理是什么,而不是仅仅定义macros? #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #define FORCETRIMRELEASE_HOLD_TIME_MS 1000.0f #define TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS 50.0f 我无法在networking上的任何地方find这种做法。

我怎样才能在C#中创build自己的事件?

我怎样才能在C#中创build自己的事件?

强制WPF工具提示留在屏幕上

我有一个标签的工具提示,我希望它保持打开,直到用户将鼠标移动到不同的控制。 我已经在工具提示上尝试了以下属性: StaysOpen="True" 和 TooltipService.ShowDuration = "60000" 但是在这两种情况下,工具提示只显示5秒钟。 为什么这些值被忽略?

.NET中的Windows应用程序中的Thread.Sleepreplace

Thread.Sleep似乎不支持.NET应用程序的Windowsapp store。 例如,这个 System.Threading.Thread.Sleep(1000); 将针对任何.NET Framework(2.0,3.5,4.0,4.5)进行编译,但在针对Windowsapp store的.NET(或者以兼容4.5和商店的可移植类库)为目标时,则不会进行编译。 System.Threading.Thread仍然存在,它只是没有睡眠的方法。 我需要在我的应用程序中延迟几秒钟,是否有合适的replace? 编辑为什么需要延迟:我的应用程序是一个游戏,延迟是看起来像电脑对手是“思考”他的下一步行动。 该方法已被asynchronous调用(主线程不被阻塞),我只是想减慢响应时间。

为什么printf只有一个参数(没有转换说明符)不推荐使用?

在我正在阅读的一本书中,写了带有一个参数(不带转换说明符)的printf被弃用。 它build议替代 printf("Hello World!"); 同 puts("Hello World!"); 要么 printf("%s", "Hello World!"); 有人可以告诉我为什么printf("Hello World!"); 是错的? 它是写在书中,它包含漏洞。 这些漏洞是什么?

deviseF#库以供F#和C#使用的最佳方法

我正试图在F#中devise一个库。 图书馆应该友好的使用F#和C# 。 这就是我被卡住的地方。 我可以让F#友好,或者我可以让C#友好,但问题是如何使它对两者友好。 这是一个例子。 想象一下,我在F#中有以下function: let compose (f: 'T -> 'TResult) (a : 'TResult -> unit) = f >> a 这是从F#完全可用的: let useComposeInFsharp() = let composite = compose (fun item -> item.ToString) (fun item -> printfn "%A" item) composite "foo" composite "bar" 在C#中, compose函数具有以下签名: FSharpFunc<T, Unit> compose<T, TResult>(FSharpFunc<T, TResult> f, FSharpFunc<TResult, Unit> a); […]