什么是SQL的所有特殊字符的完整列表(我对SQL Server感兴趣,但其他的也很好)LIKE子句?
例如
SELECT Name FROM Person WHERE Name LIKE '%Jon%'
Run Code Online (Sandbox Code Playgroud)
% - 任何零个或多个字符的字符串._ - 任何单个字符% - 任何零个或多个字符的字符串._ - 任何单个字符SYBASE
% - 任何零个或多个字符的字符串._ - 任何单个字符
参考指南 [PDF]
% - 任何零个或多个字符的字符串._ - 任何单个字符PostgreSQL还有SIMILAR TO运算符,它添加了以下内容:
[specifier][^specifier]| - 两种选择中的任何一种* - 重复前一项零次或多次. …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) 有人真的认为这是"愚蠢"你的代码的一个很好的理由吗?当经理要求您使代码变得简单(在理解它所需的技术技能方面)时,代价是更加冗长的混乱代码,您应该怎么做?
考虑一下:
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)
然而,如果我们可以命名一个匿名类型,我们定义它呢?当然它不再是匿名的,但它比普通的类定义更简洁和可维护. …
为了使代码更易于维护(即更容易更改业务规则而不重新编译代码),在存储过程中放置代码的理由是什么?
所有其他条件相同的是什么使存储过程更好/更差的维护?
该线程的完全重复
我的代码中有一些很长的变量/字段名称,我发现CTRL + SHIFT +右箭头和CTRL + SHIFT +左箭头的默认行为比坚持骆驼套管的效率要低.这是一个例子.
假设光标位于AndAnotherThing中的A之前.CTRL + SHIFT +右箭头将选择整个变量,而对骆驼套管的粘附只会选择And.
是否有任何Visual Studio工具或插件可以执行此操作?
编辑:
我也喜欢CTRL +左箭头和CTRL +右箭头的类似行为
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 4/C#4中使用它?
public string Name
{
get;
set
{
if (value != <Keyword>)
{
RaiseEvent();
}
<Keyword> = value;
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到的主要问题是使用自动属性不允许在具有明确支持字段的属性的验证等方面具有相同的灵活性.然而,显式支持字段在某些情况下具有缺点,即允许其所包含的类在访问和重用属性的验证,更改跟踪等时访问支持字段,就像可能正在访问的任何其他类一样外部的财产.
在上面的示例中,对支持字段的访问将限定为属性,从而防止绕过属性验证,更改跟踪等.
编辑:我已将<Backing Field>更改为<Keyword>.我会提出一个类似于价值的新关键字.虽然我确信它在很多现有代码中被使用,但是字段会很好.
我有一个像这样的数据列表:
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# ×5
linq ×4
.net ×3
sql ×2
.net-3.5 ×1
c#-3.0 ×1
c#-4.0 ×1
coding-style ×1
group-by ×1
linq-to-xsd ×1
maintenance ×1
properties ×1
resharper ×1
sql-like ×1
xml ×1
xsd ×1