Tag: C#的

如何将枚举名称转换为c中的string

有可能将枚举数的名称转换为C中的string?

如何使用WinForms进度条?

我想显示在外部库中执行的计算的进度。 例如,如果我有一些计算方法,我想在我的Form类中使用它100000的值,我可以写: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Caluculate(int i) { double pow = Math.Pow(i, i); } private void button1_Click(object sender, EventArgs e) { progressBar1.Maximum = 100000; progressBar1.Step = 1; for(int j = 0; j < 100000; j++) { Caluculate(j); progressBar1.PerformStep(); } } } 每次计算后我应该执行一步。 但是如果我用外部方法进行所有100000次计算呢? 我应该什么时候“执行步骤”,如果我不想让这个方法依赖于进度条? […]

在C中静态断言

在C(而不是C ++)中实现编译时静态断言的最好方法是什么,特别强调GCC?

entity frameworkjoin3个表

我想join三张桌子,但是我不明白这个方法… 我完成了连接2个表格 var entryPoint = dbContext.tbl_EntryPoint .Join(dbContext.tbl_Entry, c => c.EID, cm => cm.EID, (c, cm) => new { UID = cm.OwnerUID, TID = cm.TID, EID = c.EID, }). Where(a => a.UID == user.UID).Take(10); 我想用TID PK包含tbl_Title表并获得Title字段。 非常感谢

仅在执行时调用types参数的generics方法

编辑: 当然,我真正的代码看起来不像这样。 我试图编写半伪代码,使其更清楚我想做的事情。 看起来只是把事情搞砸了。 所以,我真正想要做的是这样的: Method<Interface1>(); Method<Interface2>(); Method<Interface3>(); … 那么…我想也许我可以把它变成一个循环使用reflection。 所以问题是:我该怎么做。 我对反思的知识很浅。 所以代码示例会很好。 该scheme如下所示: public void Method<T>() where T : class {} public void AnotherMethod() { Assembly assembly = Assembly.GetExecutingAssembly(); var interfaces = from i in assembly.GetTypes() where i.Namespace == "MyNamespace.Interface" // only interfaces stored here select i; foreach(var i in interfaces) { Method<i>(); // […]

ToList() – 它是否创build一个新的列表?

假设我有一堂课 public class MyObject { public int SimpleInt{get;set;} } 我有一个List<MyObject>和我ToList()它,然后改变其中一个SimpleInt ,我的变化将传播回到原来的列表。 换句话说,以下方法的输出是什么? public void RunChangeList() { var objs = new List<MyObject>(){new MyObject(){SimpleInt=0}}; var whatInt = ChangeToList(objs ); } public int ChangeToList(List<MyObject> objects) { var objectList = objects.ToList(); objectList[0].SimpleInt=5; return objects[0].SimpleInt; } 为什么? P / S:如果看起来很明显,我很抱歉。 但我现在没有编译器

char * vs std ::string在c + +

什么时候应该使用std::string ,什么时候应该用char*来pipe理C ++中的char数组? 看来你应该使用char*如果性能(速度)是至关重要的,并且由于内存pipe理你愿意接受一些冒险的业务。 还有其他情况需要考虑吗?

合并到EXE的DLL?

我有两个DLL文件,我想包括在我的EXE文件,以便更容易地分发它。 我已经在这里和那里读了一些怎么做,甚至在这里发现了一个很好的线程,但是这对我来说太复杂了,而且我需要关于如何做到这一点的基本指导。 我正在使用Microsoft Visual C#Express 2010,请原谅我的“低标准”问题,但我觉得我比其他人的经验低一到两个级别:/如果有人可以指出如何合并这些DDL文件我的EXE在一步一步的指导下,这将是非常棒的!

在C#应用程序中使用C ++类DLL

我有一个非托pipe的C ++ DLL,它只是导出一个类(不是COM …它只是一个简单的C ++类)作为它的接口。 我想在C#中使用这个类,但被告知它不能被导入到C#中。 在我的C#应用​​程序中使用这个类的正确方法是什么?

为什么转换语句需要rest?

给定一个简单的switch语句 switch (int) { case 1 : { printf("1\n"); break; } case 2 : { printf("2\n"); } case 3 : { printf("3\n"); } } 案例2中没有中断陈述,意味着在案例3的代码中将继续执行。这不是偶然的, 它是这样devise的 为什么做出这样的决定? 这提供了什么好处与块有自动中断语义? 基本原理是什么?