小编Kin*_*ing的帖子

使用Reflection从资源中提取的.exe和.dll文件无效?

我正在尝试将一些.exe和.dll文件嵌入到我的应用程序中(只需将所需文件包含到我的项目中,右键单击它们并将Build Action更改为"Embedded Resource").这是我提取的代码:

private void ExtractTo(string path){
   string filename = "MyNamespace.Resources.MyEmbeddedEXEfile.exe";
   Assembly asm = Assembly.GetExecutingAssembly();
   string[] resourceNames = asm.GetManifestResourceNames();
   if(resourceNames.Contains(filename)){
      Stream s = asm.GetManifestResourceStream(filename);
      byte[] buffer = new byte[s.Length];
      File.WriteAllBytes(path + "\\MyEXEfile.exe", buffer);
   }
}
Run Code Online (Sandbox Code Playgroud)

它似乎运行良好,嵌入式文件被提取到传入的路径,它与我在项目中包含的文件大小相同,并作为资源嵌入.但是在点击提取的EXE文件后,它似乎已损坏,显示一个错误对话框,说明" 此文件的版本与您正在运行的Windows版本不兼容.检查计算机的系统信息,看看是否需要程序的x86(32位)或x64(64位),然后联系您的软件发行商. "好吧,我正是该软件的发布者=)).

我使用的是Windows 7 Ultimate 64位.原始文件(我选择嵌入)是一个32位文件.我也试过一个dll文件,提取的dll文件也不能像原来的那样工作.

你能指出我的代码中提取资源有什么问题,或者我把它作为资源嵌入后文件被破坏了吗???

非常感谢您的帮助.谢谢.

c# reflection embedded-resource .net-assembly

0
推荐指数
1
解决办法
1765
查看次数

哪个SQLite查询表现更好?

我听说有人说case_sensitive_like启用可以使查询更快.如果是这样,如果我们有以下2个查询选择不区分大小写的数据,您认为如何:

  1. SELECT * FROM MyTable WHERE MyColumn LIKE '%Value%'

    假设case_sensitive_like关闭(默认),这将返回相同的结果无论ValueIS value,vAlue,valUE,...

  2. PRAGMA case_sensitive_like = ON;
    SELECT * FROM MyTable WHERE LOWER(MyColumn) LIKE LOWER('%Value%');

    这也将返回相同的结果无论ValueIS value,vAlue,valUE,...

我希望#2的表现优于#1.

请帮忙.谢谢.

PS:我认为#2的性能可以通过首先使用小写字符串的值声明值的常量来改进,或者可以在传递查询之前处理(例如在C#代码中).

sql sqlite performance

0
推荐指数
1
解决办法
92
查看次数

属性或方法或两者?

在.NET库和许多第三方库中,我可以看到有一些关于如何更改内部(私有)成员值的约定,它们支持属性(.NET属性)或方法(这些在java中常用)作为Setters和Getters)或两者兼容程序员.

我想知道何时(以及为什么)使用属性,方法或两者.例如,可以使用Visible属性(在Windows窗体中)或调用方法Show()Hide()来更改控件的可见性.有一些值(我知道有一些内部/私有值)只能通过调用方法(如setter)来更改.在设计我自己的控件时,类我有点犹豫选择属性或方法(或支持两者?),事实上,选择其中任何一个也是可以的(Java是一个仅使用方法的例子).我知道Properties相对于方法(作为getter和setter)的优势,但如果是这样的话,为什么我们必须在某些情况下使用方法,它们会被呈现给程序员甚至替换属性.我对此感到有点困惑,对我而言(正如我所说),我只使用方法时感觉很好(就像我在java中一样,它并不是那么糟糕:).

我想知道你的经历以及你的会议.我喜欢遵循编程中的标准约定(针对每个编程环境和每种语言)来区分它们.有些人发明了自己的风格,这些风格对于其他程序员来说有点难以理解,例如在C#中使用C++命名约定(甚至PHP命名约定?)?对我来说有点奇怪,抱歉.

请分享,谢谢......

.net c# coding-style

0
推荐指数
1
解决办法
106
查看次数

获取前x个相等元素的索引

我需要在排序的整数列表中获取彼此相等的所有最大元素的索引.

所以给出这个清单

elements:   {1 , 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11, 12, 13, 13, 13}
index:       0   1  2  3  4  5  6  7  8  9  10 11 12  13  14  15  16  17  18
                                                                  ^   ^   ^
Run Code Online (Sandbox Code Playgroud)

我会得到这个输出

{16,17,18}
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经有了

list.Select((x, i) => new {x, i})
Run Code Online (Sandbox Code Playgroud)

要获得指数,但我不能使用OrderBy()带有First()Single()因为我需要的所有元素最多人指数,不只是极顶一个.

是否有一种优雅的方法来实现这一点(使用LINQ或其他方式)?

c# linq

0
推荐指数
1
解决办法
87
查看次数

根据条件分组在linq中排名?

我需要在Linq上排名.

class test
{
    public int Id { get; set; }
    public string  Destination { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的数据如下:

ID          Destination
1           Miami
2           Miami
3           Boston
4           Atlanta 
Run Code Online (Sandbox Code Playgroud)

我想要的是这个:

ID          Destination        Value
1           Miami              Miami1
2           Miami              Miami2
3           Boston             Boston1
4           Atlanta            Atlanta1
Run Code Online (Sandbox Code Playgroud)

如何通过Linq得到这个?

c# linq

-4
推荐指数
1
解决办法
954
查看次数