小编fir*_*mer的帖子

如何在32位应用程序中获取64位"程序文件"目录

我有一个以x86模式(在c#中)编译的应用程序,我需要从该文件访问存在于64位程序文件文件夹(当然是64位Windows)中的某个文件.我不想C:\Program Files在我的应用程序中将其硬编码为字符串,因为一些目标计算机可能在不同的驱动器中安装了Windows,或者可能使用其他语言.

我遇到的问题是使用Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)返回x86 flavor而不是所需的目录,除非我在64位模式下编译我的程序.出于好奇,我该怎么办才能避免这样做?

.net c# directory

13
推荐指数
2
解决办法
5390
查看次数

"移动不会跨卷" - 为什么?以及如何克服?

File.Move(sourceFileName, destFileName)当源文件和目标文件位于不同的分区时,为什么它工作正常,但Directory.Move(sourceDirName, destDirName)不是?它抛出

System.IO.IOException:"源和目标路径必须具有相同的根.移动将无法跨卷工作."

我甚至尝试创建一个DirectoryInfo实例并使用该MoveTo(destDirName)方法但没有成功.

我错过了什么吗?我自己真的必须实现"移动"功能吗?(我要移动的目录非常大btw).

c# directory file

11
推荐指数
3
解决办法
9727
查看次数

使用 Zip() 合并不同长度的数组而不丢失值

在下面的代码中,我合并了两个类型为int和的数组string。第一个的长度大于第二个,因此最后一个索引(即5)不会被合并:

int[] numbers = new[] { 1, 2, 3, 4, 5 };
string[] words = new string[] { "one", "two", "three", "four" };

var numbersAndWords = numbers.Zip(words, (n, w) => new { Number = n, Word = w });
foreach (var nw in numbersAndWords)
{
    Console.WriteLine(nw.Number + nw.Word);
}
Run Code Online (Sandbox Code Playgroud)

我想知道一种合并的方法。例如,null在存在的最后一个字符串之后创建一个或空字符串words,并使用它与最后一个索引合并numbers。无法弄清楚。

编辑: 我得到的结果

1one
2two
3three
4four
Run Code Online (Sandbox Code Playgroud)

我想要的结果

1one
2two
3three
4four
5
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑:不是重复的,我的另一个问题是关于在空对象上调用方法。

.net c# linq arrays

6
推荐指数
1
解决办法
3160
查看次数

如何从Visual Studio 2013或2010中的解决方案资源管理器运行sql脚本

我有一个包含"数据库项目"的Visual Studio 2008解决方案.从那里我可以运行.sql文件,通过右键单击它们,如下所示:

db项目 -  vs2008解决方案


但是,我将此项目导入Visual Studio 2010(生成.dbproj文件)和VS2013(结束.sqlproj文件),现在我再也找不到该选项了.

此外,我无法弄清楚如何将数据库引用添加到我的生产服务器,就像我以前一样.

我确实试图在这些较新的版本中创建一个新项目,但没有好处.

那么,有两个问题.首先,如何添加我的数据库引用,第二,如何在该引用下运行.sql脚本?


编辑同事也有同样的问题:如何在Visual Studio 2013中创建数据库项目


Edit2尝试从msdn:如何:在解决方案资源管理器中运行SQL脚本,但没有成功."运行"和"运行"选项不存在,将脚本拖动到数据库引用也不起作用.

在此输入图像描述

还发现了以下相关问题:visual studio扩展执行sql

sql database sql-server visual-studio

5
推荐指数
1
解决办法
2972
查看次数

如何使用空数组执行 Zip 操作

我正在尝试使用 C# 中的 Zip 操作,如此处所述。考虑这个代码片段:

int[] numbers = new[] { 1, 2, 3, 4 };
string[] words = new string[] { "one", "two", "three", "four" };

var numbersAndWords = numbers.Zip(words, (n, w) => new { Number = n, Word = w });
foreach (var nw in numbersAndWords)
{
    Console.WriteLine(nw.Number + nw.Word);
}
Run Code Online (Sandbox Code Playgroud)

System.ArgumentNullException如果其中一个组件出现这种情况,避免的正确方法是什么null
例如初始化words为null,像这样

int[] numbers = new[] { 1, 2, 3, 4 };
string[] words = null;

// The next line won't …
Run Code Online (Sandbox Code Playgroud)

c# linq arrays iteration loops

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

标签 统计

c# ×4

.net ×2

arrays ×2

directory ×2

linq ×2

database ×1

file ×1

iteration ×1

loops ×1

sql ×1

sql-server ×1

visual-studio ×1