Tag: C#的

是否有一个相当于DebugBreak()/ __ debugbreak的便携式?

在MSVC中, DebugBreak()或__debugbreak导致debugging器中断。 在x86上它相当于写了“_asm int 3”,在x64上它有些不同。 当用gcc(或其他标准编译器)编译时,我也想闯入debugging器。 有独立于平台的function还是内在的? 我看到了关于这个问题的XCode问题 ,但它似乎不够便捷。 旁注:我主要想要实现ASSERT,我知道我可以使用assert(),但我也想写DEBUG_BREAK或东西到代码中。

给定一个audiostream,find一个门砰的一声(声压级计算?)

与拍手检测器(“拍手! 拍手拍手拍手! 拍手拍手拍手,拍手,拍手! 拍手拍手 ”)不同,我需要检测何时关门。 这是在一辆车,比一个房间或家门更容易: 听着: http : //ubasics.com/so/van_driver_door_closing.wav 看: 这是在16位4khz采样,我想避免大量的样品处理或存储。 当你用大胆或其他波形工具来观察它时,它是非常独特的,并且由于车内声压的增加而几乎总是被剪断 – 即使窗户和其他门打开: 听: http : //ubasics.com/so/van_driverdoorclosing_slidingdoorsopen_windowsopen_engineon.wav 看: 我期望有一个相对简单的algorithm,可以读取4kHz,8位的数据,并跟踪“稳定状态”。 当algorithm检测到声音水平的显着增加时,它将标记该点。 你怎么看? 你如何检测这个事件? 有声压级计算的代码示例可能有帮助吗? 我可以不经常采样(1kHz甚至更慢)吗? 更新:玩八度(开源数值分析 – 类似于Matlab),看看是否均方根会给我我需要什么(这导致了一些非常类似于SPL) Update2:在简单情况下,计算RMS可以轻松地closures门: 现在我只需要看一下困难的情况(无线电,高温热气等)。 CFAR看起来非常有趣 – 我知道我将不得不使用自适应algorithm,CFAR当然符合这个法案。 -亚当

编程瘦Windows C ++程序(如uTorrent)

我一直很欣赏原来的uTorrent程序。 它看起来不错,小于64kb,速度非常快,并具有我需要的所有function。 不幸的是,这个程序是封闭的源代码(并且变得更加臃肿),所以我来到Stackoverflow寻求灵感。 你推荐什么方法在Windows上编写快速,高效,高效的程序? 虽然C#(和整个.NET概念)是很酷的想法,但我更喜欢“纯粹”的答案,以及为Windows平台编写高效,快速的软件的挑战,就像原来的uTorrent客户端一样。 我不介意分配我自己的内存,做我自己的垃圾收集和创build我自己的数据结构。 书籍,文章,图书馆,IDEs(甚至有效的方式,让更多的咖啡因进入我的系统)的build议值得欢迎。

我得到错误“DELETE语句与参考约束冲突”

我试图用外键截断一个表,并得到消息: “ 不能截断表,因为它被FOREIGN KEY约束引用 ”。 我读了很多有关这个问题的文献,并认为我通过使用deletefind了解决scheme DELETE FROM table_name DBCC CHECKIDENT (table_name, RESEED, 0) 但是我仍然收到错误信息: “ DELETE语句与参考约束冲突 ”。 当我尝试使用Microsoft Management Studio删除并执行以前的查询时 DELETE FROM table_name DBCC CHECKIDENT (table_name, RESEED, 0) 它不会给出错误并正常工作。 我想删除表中的所有信息并添加新的信息,但是我不想删除并创build外键。

用一个连接执行多个sql命令更好吗,还是每次都重新连接?

这里是我的testing代码,这似乎表明最好连接多次而不是连接一次。 难道我做错了什么? int numIts = 100; Stopwatch sw = new Stopwatch(); sw.Start(); using (SqlConnection connection = new SqlConnection(connectionParameters)) { connection.Open(); for(int i = 0; i < numIts; i++) { SqlCommand command = new SqlCommand(sqlCommandName, connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue(par1Name, par1Val); command.Parameters.AddWithValue(par2Name, par2Val); using(SqlDataReader reader = command.ExecuteReader()) { } } } sw.Stop(); TimeSpan durationOfOneConnectionManyCommands = sw.Elapsed; […]

为什么我们需要将函数标记为constexpr?

C ++ 11允许使用constexpr说明符声明的函数在常量expression式(如模板参数)中使用。 有关什么是可以被constexpr有严格的要求; 本质上这样一个函数只封装一个子expression式,没有别的。 (编辑:这是放松的C + + 14中,但问题的立场。) 为什么要求关键字呢? 获得了什么? 它确实有助于揭示接口的意图,但是它并没有validation意图,通过保证函数在常量expression式中是可用的。 在编写constexpr函数之后,程序员仍然必须: 编写一个testing用例或以其他方式确保它在一个常量expression式中被使用。 在常量expression式上下文中logging哪些参数值是有效的。 与揭示意图相反,装饰函数与constexpr可能会增加一个错误的安全感,因为切向语法约束被检查而忽略了中心语义约束。 简而言之 ,如果函数声明中的constexpr只是可选的,会不会对语言产生不良影响? 或者是否对任何有效的程序都有影响?

ASP.NET 5(vNext) – 获取configuration设置

我正在编写一个基本的应用程序来学习ASP.NET 5.我觉得很混乱的一个领域是configuration。 在ASP.NET 5之前,我可以执行以下操作: var settingValue = ConfigurationManager.AppSettings["SomeKey"]; 我会有这样的代码行撒在我的代码。 现在,在vNext世界中,我有一个config.json文件,如下所示: config.json { "AppSettings": { "SomeKey":"SomeValue" } } 然后在Startup.cs中,我有以下: Startup.cs public IConfiguration Configuration { get; set; } public Startup(IHostingEnvironment environment) { Configuration = new Configuration() .AddJsonFile("config.json"); } 从那里,我完全难倒了。 我在/src/Website/Code/Models/MyClass.cs中有MyClass.cs。 MyClass.cs public class MyClass { public string DoSomething() { var result = string.Empty; var keyValue = string.Empty; […]

MVVM Light + Unity还是Prism?

我现在已经有些过时了,现在有兴趣听听人们对Prism最新版本的看法(我之前使用过几个版本),还是MVVM Light + Unity方法(我从来没有这样做过 – 体面的例子url会很好)。 我的项目将是由多个开发人员编写的包含多个模块的大型项目。 也有资金来引入第三方控制套件,以build立一个漂亮的工作空间使用一个漂亮的Docking / Workspace布局pipe理器(我知道一些比其他人更好地发挥Prism区域)。 如果你现在从头开始一个项目,你会怎么做,为什么? 有关具体build议的体系结构模式的详细信息将会很有用(例如,自动发现模块DLL?注入日志logging服务?)。 基本上,任何想法和build议都会很好。 我想讨论一下。 也许你会build议进入另一个方向吗? 我非常在研究阶段,并希望尽可能多的input。 我把这个放在这里是因为我认为它会比Prism / MVVM Light论坛的偏见less一些,但如果这个问题有更合适的地方,请指出我的方向。

循环DynamicObject属性

我想了解DynamicObjecttypes。 发现这个MSDN文章是非常consise和清楚如何创build和使用DynamicObject: http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.aspx 本文包含一个从DynamicObjectinheritance的简单的DynamicDictionary类。 现在我想迭代我的dynamic创build的DynamicObject属性: dynamic d = new DynamicDictionary(); d.Name = "Myname"; d.Number = 1080; foreach (var prop in d.GetType().GetProperties()) { Console.Write prop.Key; Console.Write prop.Value; } 显然这是行不通的。 我想学习如何做到这一点,而不用改变我的DynamicDictionary类,因为我真的想学习如何使用它来inheritanceDynamicObject的所有types的现有对象。 reflection需要吗? 我肯定错过了什么…

协变和IList

我想要一个Covariant集合,其项目可以通过索引检索。 IEnumerable是我知道的唯一一个.net集合,它是Covariant,但是它没有这个索引支持。 具体来说,我想这样做: List<Dog> dogs = new List<Dog>(); IEnumerable<Animal> animals = dogs; IList<Animal> animalList = dogs; // This line does not compile 现在,我知道为什么这是一个问题。 列表实现具有Add方法的ICollection 。 通过向动物的IList投射,它将允许随后的代码添加“真正的” List<Dog>集合中不允许的任何types的动物。 那么是否有人知道一个支持索引查找的集合也是协变的? 我想不创造我自己的。