小编Ste*_*olt的帖子

Visual Studio使用查找/替换结束行正则表达式($)将文本附加到行尾

我试图使用Visual Studio或SQL Server Management Studio在查找/替换对话框中使用以下设置将一些文本(例如"Fish")附加到文件中每行的末尾:

  • 找到什么:$
  • 替换为:鱼
  • 使用正则表达式:已选中

这主要是完成这项工作,但对于少数几行,它不仅将"鱼"添加到行的末尾,而且还将它放在行的开头.我无法辨别出这种行为的任何模式,它似乎几乎是随机的,文件越大,线条就越容易出错.

类似的查找/替换^(将文本放在行的开头)没有问题.

谁知道为什么会这样?而且,有没有更好的建议来实现我想要的?

regex ssms find visual-studio

10
推荐指数
2
解决办法
1万
查看次数

为什么主键订单很重要?

我最近在EntityFramework项目中设置了一个类,它将其几个成员指定为复合键.

但是,当从它创建数据库时,它给出了错误

无法确定类型"NNNNN"的复合主键排序.使用ColumnAttribute或HasKey方法指定组合主键的顺序.

我知道如何解决问题,但我只是想知道为什么它关心订单.复合主键只是一组用于键入记录的列,而不需要任何特定的排序吗?

sql-server entity-framework composite-primary-key

7
推荐指数
1
解决办法
7771
查看次数

"JOIN"是否与"INNER JOIN"相同

可能重复:
JOIN和INNER JOIN之间的差异

我找到了MS SQL Server的一些遗留SQL(T-SQL),它有一个子句

TableA JOIN TableB
Run Code Online (Sandbox Code Playgroud)

我只是想知道这是否相同

TableA INNER JOIN TableB
Run Code Online (Sandbox Code Playgroud)

或者如果有什么不同?

另外,如果我将它移植到另一个数据库引擎,例如MySQL,Access,Oracle,JOIN也总是和INNER JOIN一样吗?

sql t-sql sql-server join

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

使用StreamWriter写入文件比通过慢速网络的文件复制慢得多

我有一个程序试图将相当大量的文本写入海外远程服务器上的文件,该文件的网络连接速度很慢.

使用下面的代码,其中outputFileContentStringBuilder:

using (var outfile = new StreamWriter(myRemoteFilePath))
{
    outfile.Write(outputFileContent.ToString());
}
Run Code Online (Sandbox Code Playgroud)

它需要花费很长时间才能运行(几分钟),而如果我先写入本地文件然后将其复制到远程位置,则会更快(20-30秒):

string tempFilePath = Path.GetTempFileName();
using (var outfile = new StreamWriter(tempFilePath))
{
    outfile.Write(outputFileContent.ToString());
}

System.IO.File.Copy(tempFilePath, myRemoteFilePath, true)
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?我唯一的猜测是它与网络缓冲有关,或者可能是因为流编写器不知道它需要提前多大.

c# performance networking streamwriter

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

Dynamics CRM必填字段,在表单上出现两次,一旦隐藏一次可见

我有一个包含两个部分的表单,这两个部分都包含一个"需要业务"的特定字段.在我当前的场景中,这些部分中的第一部分是隐藏的,而第二部分是可见的.(基本上,两者中哪一个是可见的是在JScript中设置并取决于下拉列表的值).

问题是如果用户没有为必填字段输入值然后点击保存,表单会尝试在两次出现的第一次(即不可见的那次)中验证它.当它发现用户没有填充这个值时,它会将隐藏的部分带入视图,尽管事实上相同的违规字段已经在表格中进一步查看.

有什么方法可以阻止它这样做,或以另一种方式解决我的问题?

编辑:

好的,从下面的答案中,我想也许我没有让情况变得清晰.我不认为将字段设置为非强制字段,或者使用令牌值填充字段,这样做是因为我确实希望在用户未填写字段时验证强制状态.

我遇到的问题是,在验证它之后,它向用户显示已隐藏的字段的版本,而不是已经可见的字段.

描绘场景的图像. 验证表单后,将显示隐藏部分(显示为红色边框),因为未填充

据我所知,简单的API,将字段设置为强制或非强制,同样适用于表单上任何出现的字段,而不是一个特定的字段.

dynamics-crm dynamics-crm-2011

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

字典是记录密钥存在与否的最佳方式

如果已经在别处问过这个问题,我很抱歉,但我找不到它.

我希望在.NET中存储一组字符串,以便可以轻松快速地查找它们以查找密钥是否存储.

我可以使用List <string>并在每次需要搜索时枚举列表,但显然线性搜索效率很低.

所以我的下一个想法是每次使用Dictionary <string,object>并进行查询,这有望产生一些很酷的字符串哈希和更快的搜索时间.但是,我实际上并没有将任何内容存储在字典的"对象"部分中,因此似乎可能存在效率低下的问题.

有没有更好的方法来做到这一点?

c# dictionary key

3
推荐指数
1
解决办法
162
查看次数

如何在Visual Studio 2013中获取要生成的清单文件

我有两个由其他人编写的项目,一个是WPF应用程序,另一个是Console应用程序.WPF应用程序与可执行文件一起生成.exe.manifest文件,以某种方式使用项目设置自动生成(它未明确声明为app.manifest).但是控制台应用程序没有生成一个.如何设置它以生成一个?

visual-studio-2013

3
推荐指数
1
解决办法
5232
查看次数

在基类构造函数中构造对象?

我目前有以下代码模式,我在一般类MyClass的构造函数中初始化MyThing类型的特定对象.但是,在某些特定的派生类示例(例如MySpecialClass)中,我想使用MyThing的派生版本,我称之为MySpecialThing.

public class MyClass
{
    public MyClass()
    {
        this.MyThing = new MyThing();
    }

    public MyThing MyThing { get; set; }
}

public class MySpecialClass : MyClass
{
    public MySpecialClass()
    {
        this.MyThing = new MySpecialThing();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是这是不好的做法,因为实际上MyThing属性被初始化两次,一次在基类中,一次在派生类中.显然,我可以将一个布尔值传递给基类构造函数或者其他东西,告诉它不要打扰初始化MyThing,但这可能有点过分......

c# oop constructor

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