在编写xml文档时,您可以使用<see cref="something">something</see> ,这当然是有效的。 但是,你如何引用一个类或genericstypes的方法? public class FancyClass<T> { public string FancyMethod<K>(T value) { return "something fancy"; } } 如果我要在某处编写xml文档,我将如何引用这个奇特的类? 我怎么可以引用一个FancyClass<string> ? 那么这个方法呢? 例如,在一个不同的类中,我想让用户知道我将返回一个FancyClass<int>的实例。 我怎么能看到cref的东西呢?
我有一个List<string>像: List<String> list = new List<String>{"6","1","2","4","6","5","1"}; 我需要将列表中的重复项目放入新列表中。 现在我正在使用嵌套for循环来做到这一点。 结果list将包含{"6","1"} 。 有没有任何想法使用LINQ或lambdaexpression式来做到这一点?
我很抱歉可能有一个微不足道的解决scheme,但奇怪的是,我找不到这个问题简洁的API。 本质上,我想截断一个string,使其长度不超过一个给定的值。 我正在写数据库表,并希望确保我写的值符合列的数据types的约束。 例如,如果我可以写下以下代码将会很好: string NormalizeLength(string value, int maxLength) { return value.Substring(0, maxLength); } 不幸的是,这会引发一个exception,因为maxLength通常超出了stringvalue的边界。 当然,我可以写如下的函数,但是我希望这样的东西已经存在了。 string NormalizeLength(string value, int maxLength) { return value.Length <= maxLength ? value : value.Substring(0, maxLength); } 执行此任务的难以捉摸的API在哪里? 有一个吗?
我开发了一个反向string程序。 我想知道是否有更好的方法来做到这一点,如果我的代码有任何潜在的问题。 我期待练习一些C的高级function char* reverse_string(char *str) { char temp; size_t len = strlen(str) – 1; size_t i; size_t k = len; for(i = 0; i < len; i++) { temp = str[k]; str[k] = str[i]; str[i] = temp; k–; /* As 2 characters are changing place for each cycle of the loop only traverse half […]
我想用C#加载和绘制PDF文件。 我不需要编辑它们或任何东西,只需在给定的缩放级别渲染它们即可。 我发现的pdf库似乎集中在一代。 我如何做到这一点? 谢谢。
我有一个C#项目(称之为MainProj ),它引用了其他几个DLL项目。 通过将这些项目添加到MainProj的引用中,它将构build它们并将其生成的DLL复制到MainProj的工作目录。 我想要做的就是把这些引用的DLL放在MainProj工作目录的子目录,即MainProj / bin / DLL中,而不是工作目录本身。 我不是一个非常有经验的C#程序员,但来自C ++世界,我假设一种方法是删除项目引用,并显式加载所需的DLL的path和文件名(即在C + +, LoadLibrary )。 然而,如果有一种方法,我想要做的是设置某种“参考二进制path”,所以当我构build时,它们都会被自动复制到这个子目录(然后从那里引用我需要明确加载每个)。 这样的事情可能吗? 如果不是,C#中的首选方法是什么,我完成了什么(即东西与Assembly.Load / Assembly.LoadFile / Assembly.LoadFrom ?什么在AppDomain也许,或System.Environment ?)
是否有一个pdf库附加/可以附加到.NET 3.5,允许在运行时创buildPDF文件,即打开一个新的PDF文件,逐行写入,embedded图像等,并closures所有的PDF文件在C#代码? 我想要的是一套工具和规范,允许我在C#中实现自定义的PDF编写器,而不使用Reporting Services的pdf输出选项。
我已经看到在类中的函数声明旁边使用的default 。 它有什么作用? class C { C(const C&) = default; C(C&&) = default; C& operator=(const C&) & = default; C& operator=(C&&) & = default; virtual ~C() { } };
昨天我知道entity framework是除了使用数据集或数据读取器之外访问数据库的另一种方法,然后我试图让我的MySql数据库服务器在MVS 2013中使用entity framework6。 我用.Net FrameWork 4.5.1打开一个WinForms。 (所以我只有App.config,但没有在项目中的应用程序/networkingconfiguration)我安装了mysql-installer-community-5.7.3.0-m13.msi和 通过安装EntityFramework包 工具菜单 – >库包pipe理器 – >pipe理解决scheme的NuGet包… – >联机 – >(search)EntityFramework(小心这个包的版本,它应该是版本6.0.2,如果没有,然后单击更新 – > EntityFramework更新) 当我试图通过添加ADO.NET实体数据模型 右键点击Project – > Add – > New Item – > ADO.NET Entity Data Model – > Generate from Database – > New Connection – > Data sources: – > Change …-> MySQL Database […]
接口中的C#方法是在不使用virtual关键字的情况下声明的,并且在派生类中override而不使用override关键字。 这是有原因吗? 我认为这只是一种语言方便,显然CLR知道如何处理这个问题(方法在默认情况下不是虚拟的),但是还有其他的技术原因吗? 这是派生类生成的IL: class Example : IDisposable { public void Dispose() { } } .method public hidebysig newslot virtual final instance void Dispose() cil managed { // Code size 2 (0x2) .maxstack 8 IL_0000: nop IL_0001: ret } // end of method Example::Dispose 请注意,该方法在IL中被声明为virtual final 。