Tag: C#的

此代码挂起在发布模式,但在debugging模式下工作正常

我碰到这个,想知道在debugging和发布模式下这种行为的原因。 public static void Main(string[] args) { bool isComplete = false; var t = new Thread(() => { int i = 0; while (!isComplete) i += 0; }); t.Start(); Thread.Sleep(500); isComplete = true; t.Join(); Console.WriteLine("complete!"); }

在C#中的控制台应用程序asynchronous?

我有这个简单的代码: public static async Task<int> SumTwoOperationsAsync() { var firstTask = GetOperationOneAsync(); var secondTask = GetOperationTwoAsync(); return await firstTask + await secondTask; } private async Task<int> GetOperationOneAsync() { await Task.Delay(500); // Just to simulate an operation taking time return 10; } private async Task<int> GetOperationTwoAsync() { await Task.Delay(100); // Just to simulate an operation taking time […]

检查一个string数组是否包含一个值,如果是的话,得到它的位置

我有这个string数组: string[] stringArray = { "text1", "text2", "text3", "text4" }; string value = "text3"; 我想确定如果stringArray包含value 。 如果是这样,我想find它在arrays中的位置。 我不想使用循环。 任何人都可以build议我可以这样做吗?

如何将一个枚举绑定到ASP.NET中的DropDownList控件?

比方说,我有以下简单的枚举: enum Response { Yes = 1, No = 2, Maybe = 3 } 如何将此枚举绑定到DropDownList控件,以便在列表中显示说明,并且一旦select了选项,就可以检索相关的数值(1,2,3)?

是与typeof

哪些代码段速度更快? if (obj is ClassA) {} if (obj.GetType() == typeof(ClassA)) {} 编辑:我知道他们不做同样的事情。

当参数不是string时,是否安全地参数化SQL查询?

在SQL注入方面 ,我完全理解参数化string参数的必要性; 这是这本书中最古老的技巧之一。 但是,什么时候可以certificate不参数化一个SqlCommand呢? 任何数据types被认为是“安全的”,不参数化? 例如:我不认为自己在SQL专家附近的任何地方,但我不能想到任何情况下,它可能容易受到SQL注入接受一个bool或一个int ,只是连接到查询。 我的假设是正确的,还是可能在我的程序中留下一个巨大的安全漏洞? 为了澄清,这个问题被标记为C# ,这是一个强types的语言; 当我说“参数”,想像像 public int Query(int id) 。

在C#中将正数转换为负数

您可以将负数转换为正数,如下所示: int myInt = System.Math.Abs(-5); 有一个等价的方法来使正数负面吗?

枢轴上的控制消失

我有一个枢轴控制应用程序。 枢轴控制有两个项目(页),都包含一个grid 。 网格包含几个button和一个地图,另一个是文本块。 当应用程序第一次运行的枢纽按预期工作。 然而,在应用程序运行一段时间后,如同一天,枢轴上的所有控件在旋转(或滑动)之后都消失。 它们在短时间内出现,但是一旦枢轴rest,就会消失。 有没有人经历过这个? 可能是什么原因和解决scheme? video: http : //www.youtube.com/watch?v=nd7bfTJ53Nk 代码: https : //github.com/JamieKitson/TrackLog/

通过使用BookSleeve的ConnectionUtils.Connect(),使用SignalR和Redis messagebus进行故障转移

我正尝试使用SignalR应用程序创buildRedis消息总线故障切换scheme。 起初,我们尝试了一个简单的硬件负载平衡器故障切换,它只监视两台Redis服务器。 SignalR应用程序指向单一的HLB端点。 然后,我失败了一个服务器,但无法在第二个Redis服务器上成功获取任何消息而没有重新使用SignalR应用程序池。 大概这是因为它需要发出设置命令到新的Redis消息总线。 从SignalR RC1开始, Microsoft.AspNet.SignalR.Redis.RedisMessageBus使用Booksleeve的RedisConnection()连接到一个单独的Redis for pub / sub。 我创build了一个新类RedisMessageBusCluster() ,它使用Booksleeve的ConnectionUtils.Connect()连接到一个Redis服务器集群中的一个。 using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; using BookSleeve; using Microsoft.AspNet.SignalR.Infrastructure; namespace Microsoft.AspNet.SignalR.Redis { /// <summary> /// WIP: Getting scaleout for Redis working /// </summary> public class RedisMessageBusCluster : ScaleoutMessageBus { private readonly int _db; private readonly string[] […]

#pragma曾经是C ++ 11标准的一部分吗?

传统上,避免在C ++中使用多头包含的标准和可移植的方法是使用#ifndef – #define – #endif预编译器指令scheme,也称为macros保护scheme (参见下面的代码片段)。 #ifndef MY_HEADER_HPP #define MY_HEADER_HPP … #endif 然而,在大多数的实现/编译器中(见下图),还有一个更为“优雅”的select,与macros观保护机制#pragma once有相同的作用。 与macros保护scheme相比, #pragma once有过几个优点,包括代码less,避免了名称冲突,有时也提高了编译速度。 做了一些研究,我意识到尽pipe#pragma once指令几乎被所有已知的编译器支持,但是#pragma once指令是否是C ++ 11标准的一部分, #pragma once是否是混淆的。 问题: 有人能澄清一下, #pragma once指令是否是C ++ 11标准的一部分? 如果它不是C ++ 11标准的一部分,是否有计划在更新的版本上包含它(例如,C ++ 14或更高版本)? 如果有人能够进一步阐述使用其中一种技术(例如,macros观防范与#pragma once )的优点/缺点,那也不错。