Tag: C#的

如何在C ++ 0x中组合哈希值?

C ++ 0x添加hash<…>(…) 。 虽然我找不到hash_combine函数,如boost中所示 。 什么是最干净的方式来实现这样的事情? 也许,使用C ++ 0x xor_combine ?

C#:列出程序集中的所有类

我想输出(编程方式 – C#)我的程序集中的所有类的列表。 任何提示或示例代码如何做到这一点? reflection?

是int 引用types还是值types?

我知道一个int是一个值types,但什么是值types的数组? 引用types? 值types? 我想传递一个数组来检查一些东西。 我应该只是传递数组,因为它只是通过它的引用,或者我应该通过它参考?

Q_OBJECTmacros是做什么的? 为什么所有的Qt对象都需要这个macros?

我刚开始使用Qt,并注意到所有示例类定义都将macrosQ_OBJECT作为第一行。 这个预处理macros的目的是什么?

testing某个属性是否可用于dynamicvariables

我的情况很简单。 在我的代码中的某处我有这个: dynamic myVariable = GetDataThatLooksVerySimilarButNotTheSame(); //How to do this? if (myVariable.MyProperty.Exists) //Do stuff 所以,基本上我的问题是如何检查(而不是抛出exception)我的dynamicvariables上有一个特定的属性。 我可以做GetType()但我宁愿避免,因为我不需要知道对象的types。 我真正想知道的是,是否有财产(或方法,如果这使生活更容易)可用。 任何指针?

Windows 7计时function – 如何正确使用GetSystemTimeAdjustment?

我在Windows 7上使用GetSystemTimeAdjustment函数进行了一些testing,并得到了一些我无法解释的有趣结果。 按照我的理解,如果系统时间周期性地同步,那么这个方法应该返回,如果是,在哪个时间间隔和哪个增量更新( 参见MSDN上的GetSystemTimeAdjustment函数 )。 从这我跟着,如果我查询系统时间例如使用GetSystemTimeAsFileTime重复我应该得到没有改变(系统时钟还没有更新),或者一个改变是由GetSystemTimeAdjustment检索增量的倍数。 问题一:这个假设是否正确? 现在考虑下面的testing代码: #include <windows.h> #include <iostream> #include <iomanip> int main() { FILETIME fileStart; GetSystemTimeAsFileTime(&fileStart); ULARGE_INTEGER start; start.HighPart = fileStart.dwHighDateTime; start.LowPart = fileStart.dwLowDateTime; for (int i=20; i>0; –i) { FILETIME timeStamp1; ULARGE_INTEGER ts1; GetSystemTimeAsFileTime(&timeStamp1); ts1.HighPart = timeStamp1.dwHighDateTime; ts1.LowPart = timeStamp1.dwLowDateTime; std::cout << "Timestamp: " << std::setprecision(20) << (double)(ts1.QuadPart – start.QuadPart) […]

什么是最好的方式来查找数组中的项目的所有组合?

什么是最好的方式来find在C#中的数组中的项目的所有组合?

处理exception,这是一个好方法吗?

我们正在努力处理在我们的应用程序中正确处理exception的策略。 这是我们的目标(总结): 只处理特定的exception。 只处理可以纠正的exception 只logging一次。 我们已经提出了一个解决scheme,涉及一个通用的特定于应用程序的例外,并在一段代码中这样工作: try { // Do whatever } catch(ArgumentNullException ane) { // Handle, optinally log and continue } catch(AppSpecificException) { // Rethrow, don't log, don't do anything else throw; } catch(Exception e) { // Log, encapsulate (so that it won't be logged again) and throw Logger.Log("Really bad thing", e.Message, e); throw […]

是否有可能在.NET运行时编译和执行新的代码?

注意:mathexpression式评估不是这个问题的重点。 我想在.NET中运行时编译和执行新的代码。 话虽如此… 我想让用户在文本框中input任何等式,如下所示: x = x / 2 * 0.07914 x = x^2 / 5 将这个方程式应用于传入的数据点。 input数据点由x表示,每个数据点由用户指定的等式处理。 我在几年前做过,但是我不喜欢这个解决scheme,因为它需要为每个计算都parsing方程的文本: float ApplyEquation (string equation, float dataPoint) { // parse the equation string and figure out how to do the math // lots of messy code here… } 当你处理数据点的时候,这会带来很多的开销。 我希望能够将这个方程转化为一个函数,这样它就只需要被parsing一次。 它看起来像这样: FunctionPointer foo = ConvertEquationToCode(equation); …. x […]

为什么总是closures数据库连接

连接到数据库会消耗很多资源(或不)? 那么,为什么总是在你的应用程序中closures数据库连接,如果你不得不打开它呢? 我可以在整个应用程序中使这个连接全局可用,以便其他类和方法可以重用它吗? 例如:(在伪代码中) public class PopulateGridViews() { public SqlConnection conn = new SqlConnection(@"Database:DATABASE"); conn.Open(); void PopulateGrid1() { SqlCommand cmd = new SqlCommand("SELECT * FROM TABLE1"); cmd.Connection = conn; cmd.ExecuteNonQuery(); cmd.Dispose(); // Populate Grid1 } void PopulateGrid2() { SqlCommand cmd = new SqlCommand("SELECT * FROM TABLE2"); cmd.Connection = conn; cmd.ExecuteNonQuery(); cmd.Dispose(); // Populate Grid2 } […]