Tag: .net

为什么List = List ?

为什么以下代码不起作用? class parent {} class kid:parent {} List parents=new List; 这对我来说似乎很明显。 这里发生了什么?

OLEDB自定义编码

我的目标 我需要以客户端指定的特定格式创建.dbf文件。 格式为dBase III .dbf,带有kamenicky编码,使用Integer,各种长度的字符和Double列类型。 问题 我几乎所有工作都在工作,只有一个障碍:尽管编写了一个特定的转换表来切换与kamenicky编码兼容的原始字符,但darn编码拒绝工作。 这意味着输出文件以例如对于char的HEX值FF结束,该char在导入的字符串中被指定为A0的hex值。 如果你打算(-1)这个问题,我会非常感谢你为什么在评论中这样做 – 即使是“你不能充分理解这个问题”也会有很大的帮助,因为我知道在哪里继续我的研究(如在那种情况下非常基础) 我有点,有点解决问题(见评论),但解决方案有缺陷,实际上根本没有回答给定的问题。 题 我如何说服Jet.OLEDB提供商不要弄乱编码? 我试过了什么 使用foxpro提供程序,它实际工作正常,除了我的客户端软件无法读取生成的.dbf文件的细节。 不使用OleDbParameter插入数据(因此输入无法正确转义)无济于事 通过CharacterSet = xxx和一些其他连接字符串修改设置几个不同的编码,我现在不记得,每次A0的输出产生FF。 我在这里找到了一个AutoTranslate属性,但据我所知它只适用于SQL连接,因为Jet.OLEDB一直给我一个ISAM错误。 我尝试过全球化的设置 ,并没有多大帮助。 一些代码 连接字符串: “Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0};Extended Properties=\”dBase III;\””; 然后使用OleDbCommand插入数据,单个单元格填充OleDbParameter类并构造插入字符串。 可能没用,但这是代码: private void insertRows(T[] data, OleDbConnection connection) { using (OleDbCommand command = connection.CreateCommand()) { for (int i = 0; i < data.Count(); i++) { […]

C#从文本文件中的公钥获取CngKey对象

我有一个文件,其中有几个ECDSA SHA256的公钥。 该文件看起来像: KEY_ID: 1 STATUS: VALID —–BEGIN PUBLIC KEY—– MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaq6djyzkpHdX7kt8DsSt6IuSoXjp WVlLfnZPoLaGKc/2BSfYQuFIO2hfgueQINJN3ZdujYXfUJ7Who+XkcJqHQ== —–END PUBLIC KEY—– KEY_ID: 2 STATUS: VALID —–BEGIN PUBLIC KEY—– MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+Y5mYZL/EEY9zGji+hrgGkeoyccK D0/oBoSDALHc9+LXHKsxXiEV7/h6d6+fKRDb6Wtx5cMzXT9HyY+TjPeuTg== —–END PUBLIC KEY—– KEY_ID: 3 STATUS: VALID —–BEGIN PUBLIC KEY—– MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkvgJ6sc2MM0AAFUJbVOD/i34YJJ8 ineqTN+DMjpI5q7fQNPEv9y2z/ecPl8qPus8flS4iLOOxdwGoF1mU9lwfA== —–END PUBLIC KEY—– 如何为这些键中的一个(或全部)获取CngKey对象(或CngKey列表)? 我尝试过类似的东西 string plainTextKey = “MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaq6djyzkpHdX7kt8DsSt6IuSoXjpWVlLfnZPoLaGKc/2BSfYQuFIO2hfgueQINJN3ZdujYXfUJ7Who+XkcJqHQ==”; byte[] publicKeyBytes = Convert.FromBase64String(plainTextKey); CngKey ret = CngKey.Import(publicKeyBytes, CngKeyBlobFormat.EccPublicBlob); 但导入方法会因无效参数而抛出System.Security.Cryptography.CryptographicException。

如何在c#程序中删除事件处理程序代码

当我尝试删除那些空处理程序时,表单会被破坏。 如何在不影响表单的情况下从程序中删除那些恼人的代码?

如何从C#中的字节数组中删除和添加字节

我有一个配置文件(.cfg),我用它来创建一个命令行应用程序来将用户添加到SFTP服务器应用程序。 cfg文件需要为cfg文件中的每个条目提供一定数量的保留字节。 我目前只是通过创建一个字节数组并将其转换为字符串,然后将其复制到文件,将新用户附加到文件的末尾,但我遇到了麻烦。 配置文件在文件末尾需要4个字节。 我需要完成的过程是从文件中删除这些尾随字节,附加新用户,然后将字节追加到末尾。 所以,现在你的问题背后有一些背景。 这是一个问题: 如何从字节数组中删除和添加字节? 这是我到目前为止的代码,它从一个文件读取用户并将其附加到另一个文件。 static void Main(string[] args) { System.Text.ASCIIEncoding code = new System.Text.ASCIIEncoding(); //Encoding in ascii to pick up mad characters StreamReader reader = new StreamReader(“one_user.cfg”, code, false, 1072); string input = “”; input = reader.ReadToEnd(); //convert input string to bytes byte[] byteArray = Encoding.ASCII.GetBytes(input); MemoryStream stream = new […]

Winformforms关闭事件

我有两种forms,主要和儿童。 在主窗体上单击按钮时,将加载子窗体。 通过订阅子表单的已关闭事件,可以从主表单中捕获子表单吗?

即使调用了TraceEvent,也没有创建跟踪文件?

目的 使用System.Diagnostics执行跟踪。 虽然我使用了log4net和其他日志记录解决方案,但我只对跟踪使用System.Diagnostics感兴趣。 问题 即使我发出了TraceEvent ,也没有在任何地方创建文件。 应用信息 我有一个托管一些WF服务的应用程序。 其中一个服务是状态机,其初始状态如下所示: LogMessage自定义活动也很直接。 它收到四个基本参数: 将TraceSource定义为变量: 然后只需调用TraceEvent : 组态 此TraceSource和TraceListener的配置如下:

在Form上的任何位置捕获鼠标单击(不使用IMessageFilter)

当鼠标位于子控件上时,不会调用MouseDown事件。 我试过KeyPreview = true; 但它没有帮助(虽然它适用于KeyDown – 键盘点击)。 我正在寻找类似KeyPreview东西,但是对于鼠标事件。 我宁愿不使用IMessageFilter并处理WinAPI消息,如果有更简单的话。 替代方案(另外, IMessageFilter设置为Application- wide。我只想要Form- wide。)并且迭代所有子控件,订阅每个,都有其自身的缺点。

C#List size vs double size

所以我只是从微软测试CLR Profiler ,我做了一个小程序,创建了一个包含1,000,000双打的List。 我检查了堆,结果列表大小大约是124KB(我不记得确切,但它就在那附近)。 这真的震撼了我的世界,如果它有100万双打,它怎么可能是124KB? 无论如何,在那之后我决定检查双倍[1000000]。 令我惊讶的是(不是因为这是我对List = P的预期),数组大小为7.6MB。 巨大的差异!! 他们怎么会有所不同? List 如何管理其项目(令人难以置信)内存效率如何? 我的意思是,它不像其他7.5 MB的其他地方,因为在我创建了100万双打之后,应用程序的大小大约增加了3或4 KB。

自定义xml序列化

我需要帮助,我有一些数据来自xml,我想制作一个对象,用它做一些事情,序列化它并发送它…但它必须是某种自定义序列化。 xml喜欢: a oof 12 b meow 需要表现为: abstract class Animal :XmlMagic { public string Name{get;set;} public string Sound{get;set;} public void SomeMagicalXMLSerializationMethod() {} public void SomeMagicalXMLDeSerializationMethod() {} } class Dog: Animal, XmlMagic { public int SomeOtherProp{get;set;} public void SomeMagicalXMLSerializationMethod() {} public void SomeMagicalXMLDeSerializationMethod() {} }