Tag: C#的

Xamarin.Form的LayoutOptions有什么区别,特别是Fill和Expand?

在Xamarin.Forms中,每个View都有两个属性HorizontalOptions和VerticalOptions 。 两者都是LayoutOptionstypes,可以具有以下值之一: LayoutOptions.Start LayoutOptions.Center LayoutOptions.End LayoutOptions.Fill LayoutOptions.StartAndExpand LayoutOptions.CenterAndExpand LayoutOptions.EndAndExpand LayoutOptions.FillAndExpand 显然,它控制父视图上的视图alignment。 但是,每个选项的行为究竟如何呢? Fill和后缀Expand什么区别?

显示表单而不偷窃重点?

我正在使用一个窗体来显示通知(它出现在屏幕的右下angular),但是当我显示这个窗体时,它从主窗体中窃取了焦点。 有没有一种方法来显示这个“通知”forms而不偷窃?

如何从C#中的单个完整path创build多个目录?

如果你有一个完整的path,如: "C:\dir0\dir1\dir2\dir3\dir4\"你将如何最好地实现它,使所有目录都存在? BCL有没有这样的方法? 如果没有,那么做这件事最优雅的方法是什么?

什么时候应该使用TaskCompletionSource <T>?

什么时候应该使用TaskCompletionSource? AFAIK,所有它知道的是,在某个时候,它的SetResult或SetException方法正在被调用来完成通过其Task属性公开的Task<T> 。 换句话说,它作为一个Task<TResult>及其完成的生产者。 我在这里看到了这个例子: 如果我需要一种方法来asynchronous执行一个Func,并有一个任务来表示该操作。 public static Task<T> RunAsync<T>(Func<T> function) { if (function == null) throw new ArgumentNullException(“function”); var tcs = new TaskCompletionSource<T>(); ThreadPool.QueueUserWorkItem(_ => { try { T result = function(); tcs.SetResult(result); } catch(Exception exc) { tcs.SetException(exc); } }); return tcs.Task; } 如果我没有Task.Factory.StartNew ,可以使用Task.Factory.StartNew 但我有Task.Factory.StartNew 。 有人可以请示例解释与TaskCompletionSource 直接相关的情况,而不是一个假设的情况下,我没有Task.Factory.StartNew ?

C中的* ptr + = 1和* ptr ++之间的区别

我刚刚开始学习C语言,当做一个关于传递指针的指针作为函数参数的例子时,我发现了一个问题。 这是我的示例代码: #include <stdio.h> #include <string.h> #include <stdlib.h> int* allocateIntArray(int* ptr, int size){ if (ptr != NULL){ for (int i = 0; i < size; i++){ ptr[i] = i; } } return ptr; } void increasePointer(int** ptr){ if (ptr != NULL){ *ptr += 1; /* <—————————– This is line 16 */ } } int main() […]

拆分string,将ToList <int>()转换为一行

我有一个string,有数字 string sNumbers = "1,2,3,4,5"; 我可以拆分它然后将其转换为List<int> sNumbers.Split( new[] { ',' } ).ToList<int>(); 我怎样才能将string数组转换为整数列表? 这样我就可以将string[]转换为IEnumerable

如何在Objective-C 2.0中将某个方法标记为弃用?

我是开发一个相当大的iPad应用程序的一个团队的一部分,我们已经创build了许多不同的类。 麻烦的是一些方法现在已经非常陈旧了,我不想简单地删除它们,因为我知道整个系统的一些部分使用方法…但是还有更好的(更新的)变体可用相反(一些旧的实际上称为新的,但整体类接口变得混乱)。 有没有一种方法可以将某些方法标记为折旧(如在Java中使用@deprecated ,在.NET中使用[Obsolete] )。 我看到苹果使用Availability.h并具有标签如 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_3_0); …这是唯一的方法(+它是这样做的应用程序商店安全吗?)或者有替代品,将在Xcode的标志警告?

快速find一个值是否存在于C数组中?

我有一个embedded式应用程序,其中包含一个对时间要求严格的ISR,需要遍历256个数组(最好是1024,但最less为256),并检查一个值是否与数组内容匹配。 一个bool将被设置为true是这样的。 MCU是恩​​智浦LPC4357,ARM Cortex M4内核,编译器是GCC。 我已经组合了优化级别2(3慢),并将其放入RAM而不是闪存。 我也使用指针算术和for循环,而不是向下计数(检查i!=0是否快于检查i<256 )。 总而言之,我最终需要12.5us的时间,这个时间必须大大缩短才行。 这是我现在使用的(伪)代码: uint32_t i; uint32_t *array_ptr = &theArray[0]; uint32_t compareVal = 0x1234ABCD; bool validFlag = false; for (i=256; i!=0; i–) { if (compareVal == *array_ptr++) { validFlag = true; break; } } 什么是绝对最快的方法来做到这一点? 使用内联汇编是允许的。 其他“不太优雅的”技巧也是允许的。

HttpClient不支持PostAsJsonAsync方法C#

我想从我的Web应用程序调用一个Web API。使用.net 4.5和编写代码时,我得到一个错误HttpClient不包含一个定义PostAsJsonAsync方法 HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://localhost:51093/"); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var user = new Users(); user.AgentCode = 100; user.Remarks = "Test"; user.CollectionDate = System.DateTime.Today; user.RemittanceDate = System.DateTime.Today; user.TotalAmount = 1000; user.OrgBranchID = 101; var response = client.PostAsJsonAsync("api/AgentCollection", user).Result; 我收到错误消息: Error: 'System.Net.Http.HttpClient' does not contain a definition for 'PostAsJsonAsync' and no […]

为什么在C ++类中使用成员variables的前缀

许多C ++代码使用语法约定来标记成员variables。 常见的例子包括 公共成员的m_ memberName (根本用于公共成员) 私人成员或所有成员的_ memberName 其他人试图在使用成员variables时强制使用this-> member 。 根据我的经验,大多数较大的代码库不能一致地应用这些规则。 在其他语言中,这些约定远没有那么普遍。 我偶尔会在Java或C#代码中看到它。 我想我从来没有见过Ruby或Python代码。 因此,现代语言似乎有一种趋势,不使用特殊的标记来表示成员variables。 这个惯例今天在C ++仍然是有用的,或者它只是一个时代错误。 特别是因为它在图书馆中的使用如此不一致。 没有其他语言显示,没有成员前缀可以做?