Tag: C#的

在.NET Framework中,lambdas和委托有什么区别?

我被问了很多这个问题,我想我会征求一些关于如何最好地描述差异的意见。

如何通过#define指令检测LLVM及其版本?

我想这个问题很清楚。 我试图编写一个编译器检测头,以便能够在应用程序信息中包含使用哪个编译器以及哪个版本。 这是我使用的代码的一部分: /* GNU C Compiler Detection */ #elif defined __GNUC__ #ifdef __MINGW32__ #define COMPILER "MinGW GCC %d.%d.%d" #else #define COMPILER "GCC %d.%d.%d" #endif #define COMP_VERSION __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__ #endif 可以这样使用: printf(" Compiled using " COMPILER "\n", COMP_VERSION); 有没有什么办法可以检测LLVM及其版本? 和CLANG?

foreach在Request.Files

我试图上传ASP.NET MVC中的多个文件,我有我的控制器中这个简单的foreach循环 foreach (HttpPostedFileBase f in Request.Files) { if (f.ContentLength > 0) FileUpload(f); } 以前的代码会产生这个错误: Unable to cast object of type 'System.String' to type 'System.Web.HttpPostedFile'. 我不明白的是为什么Request.Files [1]返回一个HttpPostedFileBase,但是当它被迭代时,它返回string(大概是文件名)。 注意:我知道这可以用for循环来解决。 另外,我尝试使用HttpPostedFile,具有相同的错误。

最简单的方法来检查一个任意的string是一个有效的文件名

在我的应用程序中,用户可以input文件名。 在处理之前,我想检查inputstring是否是Windows Vista上的有效文件名。 最简单的方法是什么? 通过有效,我正在接受合法的和不存在的

405方法不允许web api

这个错误是很常见的,我尝试了所有的解决scheme,而不是他们的工作。 我已经禁用WebDAV发布控制面板中,并将其添加到我的networkingconfiguration文件: <handlers> <remove name="WebDAV"/> </handlers> <modules runAllManagedModulesForAllRequests="true"> <remove name="WebDAVModule"/> </modules> 错误仍然存​​在。 这是控制器: static readonly IProductRepository repository = new ProductRepository(); public Product Put(Product p) { return repository.Add(p); } 方法实现: public Product Add(Product item) { if (item == null) { throw new ArgumentNullException("item"); } item.Id = _nextId++; products.Add(item); return item; } 这就是抛出exception的地方: client.BaseAddress = new Uri("http://localhost:5106/"); […]

你如何实现一个asynchronous操作委托方法?

一点背景资料。 我正在学习Web API堆栈,我试图用“Result”和“ErrorCodes”等参数封装所有数据。 但是,不同的方法会产生不同的结果和错误代码,但结果对象通常会以相同的方式实例化。 为了节省一些时间,也想了解更多关于asynchronous/等待C#中的function,我试图将我的web api动作的所有方法主体包装在一个asynchronous操作委托,但陷入了一个障碍… 鉴于以下类别: public class Result { public bool Success { get; set; } public List<int> ErrorCodes{ get; set; } } public async Task<Result> GetResultAsync() { return await DoSomethingAsync<Result>(result => { // Do something here result.Success = true; if (SomethingIsTrue) { result.ErrorCodes.Add(404); result.Success = false; } } } 我想写一个方法对Result对象执行一个操作并返回它。 通常是通过同步方法 public […]

导航回来时重新加载UITableView?

我有一个包含UITableView的顶级UIViewController 。 顶层的UIViewController实例化一个NavigationController ,并将另一个UIViewController放到NavigationController 。 IE浏览器推入新的第二种观点。 第二个视图在左上angular具有通常的“后退”button,可以导航回顶层视图。 当从第二个视图导航回顶层视图时,是否有可能使用第二个视图中生成的数据通过调用顶层的cellForRowAtIndexPath重绘顶层视图中的UITableView ,如果是这样,这个?

错误:types'int'的非常量引用的types'int'的右值的无效初始化

错误的forms: int &z = 12; 正确forms: int y; int &r = y; 问题 : 为什么第一个代码是错的? 标题中错误的“ 含义 ”是什么?

gnu autotools:debugging/发布目标?

我一直在寻找这一段时间:我目前正在转换一个中等大小的程序autotools,来自一个基于eclipse的方法(使用makefiles) 我总是习惯于有一个“debugging”的版本,所有的debugging符号,没有优化,和“释放”生成,没有debugging符号和最佳优化。 现在我试图用autotools以某种方式复制这个,所以我可以(可能)做这样的事情: ./configure make debug 其中将有所有debugging符号和优化,并在哪里: ./configure make 会导致“发行”版本(默认) PS:我已经阅读了关于–enable-debug标志/特性,但是在我目前的(简单)设置​​中,使用它是无法识别的

为什么是System.Transactions TransactionScope默认Isolationlevel可串行化

我只是想知道什么是一个很好的理由,使用Serializable作为默认的Isolationlevel可能是创build一个System.Transactions TransactionScope时 ,因为我想不出任何(似乎你不能通过web / app.config更改默认,所以你总是必须在你的代码中设置它) using(var transaction = TransactionScope()) { … // creates a Transaction with Serializable Level } 相反,我总是要写这样的样板代码: var txOptions = new System.Transactions.TransactionOptions(); txOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; using(var transaction = new TransactionScope(TransactionScopeOption.Required,txOptions)) { … // } 有任何想法吗?