Tag: C#的

C#每X分钟运行一个线程,但只有在该线程没有运行的情况下

我有一个C#程序需要每X分钟发送一个线程, 但只有当前调度线程(从X分钟)之前,目前还没有运行 。 一个简单的旧的Timer本身将无法工作(因为它每隔X分钟发送一个事件,无论先前调度的过程是否完成)。 将要分派的stream程在执行任务所需的时间内差异很大 – 有时可能需要一秒,有时可能需要几个小时。 我不想再次启动该进程,如果它仍然从最后一次启动处理。 任何人都可以提供一些工作的C#示例代码?

在C + +的哈希表?

每当我需要存储与特定types的值(键值 – 例如string或其他对象)相关联的数据时,我通常使用C ++ stdlib映射。 stdlib映射实现基于树提供比标准数组或stdlib向量更好的性能(O(log n))。 我的问题是,你知道任何提供更好的性能(O(1))的C ++“标准”散列表实现吗? 类似于Java API中的Hashtable类中可用的内容。

浮点值“f”的后缀?

我想知道在C中的这两个variables之间有什么区别: float price = 3.00; 和 float price = 3.00f; 尾随的“f”?

找不到Dumpbin.exe

我没有看到我的系统上的dumpbin.exe。 我的系统上有Visual Studio 2005。 当我在命令行键入dumpbin时,它说无法识别的命令。 它是否默认带有Visual Studio,还是必须显式地添加这个工具?

.ToString和C#中“as string”的区别

使用以下两条语句有什么区别? 在我看来,第一个“作为string”是一个types转换,而第二个ToString是一个实际的调用方法,将input转换为一个string? 只是寻找一些见解,如果有的话。 Page.Theme = Session["SessionTheme"] as string; Page.Theme = Session["SessionTheme"].ToString();

用返回值调用存储过程

我想从我的C#窗口应用程序调用存储过程。 存储过程在SQL Server 2008的本地实例上运行。我能够调用存储过程,但是我无法从存储过程中取回值。 这个存储过程应该返回序列中的下一个数字。 我在网上做了研究,所有我见过的网站都指出了这个解决scheme的工作原理。 存储过程代码: ALTER procedure [dbo].[usp_GetNewSeqVal] @SeqName nvarchar(255) as begin declare @NewSeqVal int set NOCOUNT ON update AllSequences set @NewSeqVal = CurrVal = CurrVal+Incr where SeqName = @SeqName if @@rowcount = 0 begin print 'Sequence does not exist' return end return @NewSeqVal end 调用存储过程的代码: SqlConnection conn = new SqlConnection(getConnectionString()); conn.Open(); SqlCommand […]

C ++中结构的奇怪行为

考虑: struct box { int array[3]; }; int main() { box a = {1}; } 如果上述工作在C ++那么为什么不下面的工作? struct box { int simple_int; }; int main() { box b = 2; } 是什么原因?

Html Agility Pack是否仍然是最好的.NET HTMLparsing器?

Html Agility Pack是前段时间给出的一个StackOverflow问题的答案,它仍然是最好的select? 还有什么其他的select应该考虑? 有更轻量级的东西吗?

GIT – 不能忽略.suo文件

我正尝试在一个用C#编写的应用程序中使用Git – Extension与同事一起工作。 我们已经在文件.gitignore中添加了文件“project1.suo”,但是每次我们中的一个人都必须提交项目时,Git似乎告诉我们提交文件“project1.suo”。 我们已经尝试了很多方法来添加像.gitignore这样的文件: *.suo project1.suo c:\project\project1.suo 我们无法解决这个问题。

如何用gdb跟踪C ++中的double free或者corrupt错误

当我运行我的C ++程序时,它崩溃了这个错误。 *检测到glibc * ./load:double free或者腐败(!prev):0x0000000000c6ed50 *** 我试图使用cout声明来追踪它,但是我发现它很困难。 gdb可以使这更容易吗? 它是如何完成的?