小编Jon*_*ker的帖子

SQL LIKE子句的特殊字符列表

什么是SQL的所有特殊字符的完整列表(我对SQL Server感兴趣,但其他的也很好)LIKE子句?

例如

SELECT Name FROM Person WHERE Name LIKE '%Jon%'
Run Code Online (Sandbox Code Playgroud)

SQL Server:

  1. %
  2. _
  3. [说明符]例如[az]
  4. [^符]
  5. ESCAPE子句例如%30!%%'ESCAPE'!' 将评估30%为真
  6. '人物需要逃脱'例如他们变得他们'

MySQL的:

  1. % - 任何零个或多个字符的字符串.
  2. _ - 任何单个字符
  3. ESCAPE子句例如%30!%%'ESCAPE'!' 将评估30%为真

甲骨文:

  1. % - 任何零个或多个字符的字符串.
  2. _ - 任何单个字符
  3. ESCAPE子句例如%30!%%'ESCAPE'!' 将评估30%为真

SYBASE

  1. %
  2. _
  3. [说明符]例如[az]
  4. [^符]

进展:

  1. % - 任何零个或多个字符的字符串.
  2. _ - 任何单个字符

    参考指南 [PDF]

PostgreSQL的:

  1. % - 任何零个或多个字符的字符串.
  2. _ - 任何单个字符
  3. ESCAPE子句例如%30!%%'ESCAPE'!' 将评估30%为真

ANSI SQL92:

  1. %
  2. _
  3. 仅在指定时才使用ESCAPE字符.

PostgreSQL还有SIMILAR TO运算符,它添加了以下内容:

  1. [specifier]
  2. [^specifier]
  3. | - 两种选择中的任何一种
  4. * - 重复前一项零次或多次. …

sql special-characters sql-like

117
推荐指数
3
解决办法
25万
查看次数

Linq OrderBy针对特定值

Linq是否有办法在不知道值的顺序的情况下对一组值(本例中为字符串)执行OrderBy?

考虑这些数据:

A
B
A
C
B
C
D
E
Run Code Online (Sandbox Code Playgroud)

而这些变量:

string firstPref,secondPref,thirdPref;

当值设置如下:

firstPref = 'A';
secondPref = 'B';
thirdPref = 'C';
Run Code Online (Sandbox Code Playgroud)

是否可以像这样订购数据:

A
A
B
B
C
C
D
E
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-objects

40
推荐指数
3
解决办法
3万
查看次数

"初级开发人员应该很容易理解"的论点

有人真的认为这是"愚蠢"你的代码的一个很好的理由吗?当经理要求您使代码变得简单(在理解它所需的技术技能方面)时,代价是更加冗长的混乱代码,您应该怎么做?

coding-style

32
推荐指数
6
解决办法
1985
查看次数

.NET会从"命名匿名"类型中受益吗?

考虑一下:

var me = new { FirstName = "John", LastName = "Smith" };
Run Code Online (Sandbox Code Playgroud)

这很好,因为我们可以这样做:

Console.WriteLine("{0} {1}", me.FirstName, me.LastName);
Run Code Online (Sandbox Code Playgroud)

但是我们不能这样做:

public T GetMe()
{
    return new { FirstName = "John", LastName = "Smith" };
}
Run Code Online (Sandbox Code Playgroud)

因为我们不知道T的类型

我们可以这样做:

public object GetMe()
{
    return new { FirstName = "John", LastName = "Smith" };
}
Run Code Online (Sandbox Code Playgroud)

但是我们必须使用反射检查对象的属性才能访问它们:

var p = new Prog();
object o = p.GetMe();
Type t = o.GetType();
foreach (var prop in t.GetProperties())
{
    Console.WriteLine(prop.Name + ": " + prop.GetValue(o, null));
}
Run Code Online (Sandbox Code Playgroud)

然而,如果我们可以命名一个匿名类型,我们定义它呢?当然它不再是匿名的,但它比普通的类定义更简洁和可维护. …

.net c# linq anonymous-types c#-4.0

17
推荐指数
3
解决办法
2092
查看次数

存储过程是否更易于维护?

为了使代码更易于维护(即更容易更改业务规则而不重新编译代码),在存储过程中放置​​代码的理由是什么?

所有其他条件相同的是什么使存储过程更好/更差的维护?

sql maintenance stored-procedures

14
推荐指数
5
解决办法
3441
查看次数

Linq2XSD死了吗?

alpha 0.2以来,有没有人对此有任何更新?

.net xml linq xsd linq-to-xsd

11
推荐指数
1
解决办法
2147
查看次数

是否有一个Visual Studio插件(最好是Resharper)有驼峰案例选择

可能重复:
当按下ctrl和光标键时,让Visual Studio了解CamelCase

该线程的完全重复

我的代码中有一些很长的变量/字段名称,我发现CTRL + SHIFT +右箭头和CTRL + SHIFT +左箭头的默认行为比坚持骆驼套管的效率要低.这是一个例子.

假设光标位于AndAnotherThing中的A之前.CTRL + SHIFT +右箭头将选择整个变量,而对骆驼套管的粘附只会选择And.

是否有任何Visual Studio工具或插件可以执行此操作?

编辑:

我也喜欢CTRL +左箭头和CTRL +右箭头的类似行为

resharper visual-studio

9
推荐指数
1
解决办法
2236
查看次数

C#应该有一个懒惰的关键词

C#应该有一个惰性关键字来使延迟初始化更容易吗?

例如

    public lazy string LazyInitializeString = GetStringFromDatabase();
Run Code Online (Sandbox Code Playgroud)

代替

    private string _backingField;

    public string LazyInitializeString
    {
        get
        {
            if (_backingField == null)
                _backingField = GetStringFromDatabase();
            return _backingField;
        }
    }
Run Code Online (Sandbox Code Playgroud)

.net c# lazy-initialization

9
推荐指数
3
解决办法
1111
查看次数

在自动属性中访问支持字段

有没有办法访问属性的支持字段,以便进行验证,更改跟踪等?

是否有类似以下内容?如果没有,是否有计划在.NET 4/C#4中使用它?

public string Name
{
    get;
    set
    {
        if (value != <Keyword>)
        {
            RaiseEvent();
        }
        <Keyword> = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

我遇到的主要问题是使用自动属性不允许在具有明确支持字段的属性的验证等方面具有相同的灵活性.然而,显式支持字段在某些情况下具有缺点,即允许其所包含的类在访问和重用属性的验证,更改跟踪等时访问支持字段,就像可能正在访问的任何其他类一样外部的财产.

在上面的示例中,对支持字段的访问将限定为属性,从而防止绕过属性验证,更改跟踪等.

编辑:我已将<Backing Field>更改为<Keyword>.我会提出一个类似于价值的新关键字.虽然我确信它在很多现有代码中被使用,但是字段会很好.

c# encapsulation properties .net-3.5 c#-3.0

8
推荐指数
3
解决办法
7033
查看次数

展平Linq Group查询

我有一个像这样的数据列表:

ID AddressPurpose Address ...
1  L
1  P
2  L
2  P
3  P
3  L
4  P
4  L
5  P
6  L
Run Code Online (Sandbox Code Playgroud)

我希望能够过滤数据,以便对于每个唯一的数字,如果有一个P行,则返回它,否则返回L行.所以数据看起来像这样:

ID AddressPurpose Address ...
1  P
2  P
3  P
4  P
5  P
6  L
Run Code Online (Sandbox Code Playgroud)

目前我有这个查询工作正常:

var query = from c in list
            orderby c.AddressPurpose descending
            group c by c.ID
            into g
                select g;

var finalList = new List<Company>();
foreach (var list in query)
{
    finalList.Add(list.First());
}
return finalList;
Run Code Online (Sandbox Code Playgroud)

没有使用额外的foreach,有没有更好的方法来做到这一点?

c# linq linq-to-objects group-by

8
推荐指数
2
解决办法
3366
查看次数