我试图使用这段代码来确定.NET数组(在一个32位进程中)头的开销: long bytes1 = GC.GetTotalMemory(false); object[] array = new object[10000]; for (int i = 0; i < 10000; i++) array[i] = new int[1]; long bytes2 = GC.GetTotalMemory(false); array[0] = null; // ensure no garbage collection before this point Console.WriteLine(bytes2 – bytes1); // Calculate array overhead in bytes by subtracting the size of // the array […]
虽然这似乎是一个微不足道的问题,但我确定它不是:) 我需要validation来自世界各地的人的姓名。 我如何用正则expression式来做到这一点? 如果只是英文的话,我认为这会削减它: ^[az -']+$ 不过,我也需要支持这些情况: 其他标点符号,因为他们可能会在不同的国家使用(不知道哪个,但也许你做!) 不同的Unicode字母集(重音字母,希腊语,日语,中文等) 没有数字或符号或不必要的标点或符文等。 有没有一个标准的方式来validation这些领域,我可以执行,以确保我们的网站访问者有一个很好的经验,可以真正使用他们的名字时注册? 我会寻找类似于你可以在谷歌find许多“电子邮件地址”正则expression式。
我很新的C#编程,但希望能够访问MySQL数据库(没有MS SQL的钱) 但是我有一个问题, 我知道你需要有用于开发C#应用程序的“MySQL connector / NET”和“MySQL for Visual Studio”,但安装应用程序的人是否也需要它们? (是否有可能我可以释放连接器DLL与程序?) 谢谢 编辑:他们都需要最终用户或只是连接器? 还有什么需要的吗?
如何使用Win32截取当前屏幕?
常见情况: 将std :: string传递给函数foo(std :: string *)或foo(std :: string&); 将tr1 :: shared_ptr传递给函数foo(tr1 :: shared_ptr * ptr)或foo(tr1 :: shared_ptr&ptr); 一般来说,什么是好的做法。 我总是感到困惑。 首先,传递所有参数似乎是一致的,但不可能将Literals作为引用或NULL作为引用传递。 同样的,所有的指针看起来都不错,但是我不得不担心指针可能指向NULL,并在函数的开头检查这些条件。 你认为以下片段是好的吗? #include <iostream> #include <vector> #include <map> #include <string> #include <tr1/memory> #include <algorithm> using namespace std; using namespace std::tr1; int main(){ map<string, shared_ptr<vector<string> > > adjacencyMap; vector<string>* myFriends = new vector<string>(); myFriends->push_back(string("a")); myFriends->push_back(string("v")); […]
我怎样才能使行不区分大小写? drUser["Enrolled"] = (enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1); 今天早些时候给了我一些build议,build议我使用: x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase))); 麻烦的是我不能得到这个工作,我已经尝试下面的行,这个编译但返回错误的结果,它返回登记的用户作为未注册和未注册的用户作为登记。 drUser["Enrolled"] = (enrolledUsers.FindIndex(x => x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase))); 任何人都可以指出这个问题吗?
我正在尝试在Microsoft Visual C#2010中编译此代码 using System; using System.Globalization; class main { static void Main() { dynamic d; d = "dyna"; Console.WriteLine(d); } } 但我得到这两个错误 错误1预定义types“Microsoft.CSharp.RuntimeBinder.Binder”未定义或导入 错误2无法find编译dynamicexpression式所需的一个或多个types。 您是否缺less对Microsoft.CSharp.dll和System.Core.dll的引用? 我读了这篇文章,但我是C#的新手,我不明白究竟是什么问题。 尤其是什么和这些所谓的.config文件在哪里?
目前我有一些正在dynamic生成的代码。 换句话说,C#.cs文件是由程序dynamic创build的,其目的是将此C#文件包含在另一个项目中。 面临的挑战是我想生成一个.DLL文件,而不是生成一个C#.cs文件,以便它可以被任何types的.NET应用程序(不仅仅是C#)引用,因此更有用。
我需要parsing一个URL来获取我用C ++编写的应用程序中的协议,主机,path和查询。 该应用程序旨在跨平台。 我很惊讶我无法find任何这样做在推动或POCO图书馆。 是不是很明显,我不看? 任何build议在适当的开放源代码库? 或者这是我只需要做我自己的东西? 这不是非常复杂,但似乎是这样一个共同的任务,我很惊讶,没有一个共同的解决scheme。
我们正在使用JetBrains的dotTrace 。 还可以推荐哪些其他性能分析工具更适合分析C# Windows Forms应用程序?