小编Dav*_*.ca的帖子

如何为列字段获取两行之间的差异?

我有这样一张桌子:

rowInt  Value
2       23
3       45
17      10
9       0
....
Run Code Online (Sandbox Code Playgroud)

列rowInt值是整数,但不是具有相同增量的序列.我可以使用以下sql按rowInt列出值:

SELECT * FROM myTable ORDER BY rowInt;
Run Code Online (Sandbox Code Playgroud)

这将按rowInt列出值.如何获得两行之间的Value的差异,结果如下:

rowInt   Value Diff
2        23    22    --45-23
3        45    -35   --10-45
9        0     -45   --0-45
17       10    10    -- 10-0
....
Run Code Online (Sandbox Code Playgroud)

该表在SQL 2005(Miscrosoft)中

sql t-sql sql-server sql-server-2005

55
推荐指数
4
解决办法
19万
查看次数

在.Net中LINQ和Lambda表达的效率和性能是什么?

我使用.Net 3.5和VS 2008一个多月了.像大多数.Net开发人员一样,我已经从.Net 1.0&2.0和VS 2005的多年经验发展而来.就在最近,我发现了LINQ和Lambda表达式的简单性和强大功能,就像我最近的问题一样,例如在列表中查找项目LINQ,使用Lambda或LINQ 类实例转换或映射到另一个实例的列表,并使用Lambda或LINQ 将类列表转换或映射到另一个类列表.

我承认Lambda和LINQ更简单易读,看起来非常强大.在幕后,.Net编译器必须生成大量代码才能实现这些功能.因此,我对转换到新语法有点犹豫,因为我已经知道了实现相同结果的"旧"方法.

我的问题是关于Lambda和LINQ的效率和性能.也许Lambda表达式大多是内联函数,在这种情况下我猜Lambda应该没问题.LINQ怎么样?

让我们将讨论限制为LINQ-to-Objects LINQ-to-SQL(LINQ-to-SQL).任何评论,比较和经验?

.net c# linq lambda .net-3.5

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

VIM初始设置:更改左侧行号的背景颜色?

_vimrc用来配置我的vim 7.2(windows)默认设置.一个设置"设置编号"将在左侧显示行号.我的vim背景颜色为白色(我找不到此设置.也许默认为白色.无论如何我接受此设置).

我希望行号的背景颜色为灰色或灰色.我可以在_vimrc配置此默认设置时使用的命令是什么?

vim

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

如何移动一个块或一列文本

我有以下文字作为一个简单的案例:

...
abc xxx 123 456
wer xxx 345 678676
...
Run Code Online (Sandbox Code Playgroud)

我需要将一块文本xxx移动到另一个位置:

...
abc 123 xxx 456
wer 345 xxx 678676
...
Run Code Online (Sandbox Code Playgroud)

我想我使用可视模式来阻止一列文本,将块移动到另一个位置的其他命令是什么?

vim

28
推荐指数
4
解决办法
4万
查看次数

如何通过Lambda或LINQ从列表中获取不同的实例

我有一个这样的课:

class MyClass<T> {
    public string value1 { get; set; }
    public T objT { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

以及这个班级的清单.我想使用.net 3.5 lambda或linq来获取不同value1的MyClass列表.我想这可能比在.net 2.0中缓存这样的列表的方式简单得多:

List<MyClass<T>> list; 
...
List<MyClass<T>> listDistinct = new List<MyClass<T>>();
foreach (MyClass<T> instance in list)
{
    // some code to check if listDistinct does contain obj with intance.Value1
    // then listDistinct.Add(instance);
}
Run Code Online (Sandbox Code Playgroud)

lambda或LINQ的做法是什么?

c# linq lambda .net-3.5

28
推荐指数
2
解决办法
6万
查看次数

使用LINQ或Lambda从列表中删除实例?

现在我来了一个阶段,将我的所有数据作为缓存(对象)中的列表,我接下来要做的就是从列表中删除一些实例.

通常情况下,我会这样删除:

List<T> list;
List<T2> toBeRemovedItems;
// populate two lists
foreach(T2 item in toBeRemovedItems)
{
    list.Remove(delegate(T one) { 
        // build a condition based on item
        // return true or false
    });
}
Run Code Online (Sandbox Code Playgroud)

更具体地说,我实际上构建或填充了动态类(不是正式定义的类)的BeRemvoedItems列表.例如,T类类似于MyClass,删除代码是:

class MyClass<C> {
    public string Value1 { get; set; }
    public int Value2 { get; set; }
    public C ObjectC { get; set; }
}
....
List<MyClass<C>> list;
// populate list
// populate toBeRemovedItems. Here is an example of hard-coded codes:
var toBeRemovedLItems = new[] {
    new …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

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

什么是暂停和恢复线程的替代方法?

这两种方法Thread.Suspend()Thread.Resume()是因为.NET 2.0过时.为什么?什么是其他替代品和任何例子?

c# thread-safety .net-2.0

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

是否有任何命令切换启用自动文本换行?

默认情况下,我认为我的vimrc设置启用了自动换行.但是,有时候,我希望看到文字行没有被包裹.是否有任何命令我切换启用和禁用文本换行?这样可以避免我退出并更改设置.

vim

23
推荐指数
4
解决办法
7256
查看次数

在TSQL触发器中更新功能

我有一个关于TSQL函数更新的问题.例如,我有一个带有字段名称的表.如果我在After Update触发器中检查是否更改了字段名称,请执行以下操作:

  if Update(Name)
  Begin
    -- process
  End
Run Code Online (Sandbox Code Playgroud)

即使名称未更改,更新是否仍会返回TRUE?以下更新语句将使用相同的值更新它:

  SELECT @v_Name = Name From MyTable Where Id = 1;
  Update MyTable Set Name = @v_Name where Id = 1;
Run Code Online (Sandbox Code Playgroud)

如果Update()返回TRUE,即使Name的值没有改变,我是否必须比较插入和删除的虚拟表中的值,以确定该值是否真的改变了?

顺便说一句,插入和删除是虚拟表,如果一个TSQL INSERT或UPDATE语句更改了多行数据,它们可能包含多行数据.如果有多个记录,插入和删除的虚拟表中的行数是否相同,更新(名称)的真正含义是什么?这是否意味着至少有一个被改变了?或者更新(名称)是否表示Name的字段已由Update语句设置,无论该值是否已更改?

我使用的SQL服务器是Microsoft SQL 2005.

sql t-sql sql-server sql-server-2005

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

CMD命令删除文件并将它们放入回收站?

是否有任何控制台命令"del"从文件夹中删除文件并将它们放入回收站?del命令将删除文件,而不是在回收站中.

console cmd batch-file

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