小编Ars*_*lan的帖子

列表中的Linq中的where子句c#

我有这样的结构:

struct Test
{
   string name;
   string family;
   public Test...
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我有一个这个结构的列表:

List<Test> testList=new List<Test>();
Run Code Online (Sandbox Code Playgroud)

我有这样的linq表达式:

var list =testList.Select(n=>n.Name);
Run Code Online (Sandbox Code Playgroud)

但是如何通过testList的Family过滤此选择?这样的事情:

var list=testList.Select(n=>n.Name).Where(f=>f.Family=="");
Run Code Online (Sandbox Code Playgroud)

这个Where子句只适用于所选的名称,这些名称是字符串列表

任何想法如何做到这一点?

c# linq

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

删除查询在SQL Server中不起作用

这很奇怪,但我的SQL Server不会删除项目:

我有一个这样的存储过程:

Create Procedure DeleteItem @cnm nchar(10)
as
    Begin Transaction 
       Delete From T1 where Cnm = @cnm
       Delete From T2 where Cnm = @cnm

       if @@ERROR <> 0 
       Begin
          Commit
       End
       Else
       Begin
           RollBack
       End
Run Code Online (Sandbox Code Playgroud)

当我在SQL Server Management Studio中运行此查询时:

Exec DeleteItem '1111111111'
Run Code Online (Sandbox Code Playgroud)

它在Messages窗格中返回:

(1 row(s) affected)
(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)

但是当我从那些表中获取数据时,删除的记录仍然存在!

我做错了吗?

sql-server

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

用于在C#中按"Enter键"的自定义事件

我有一个带有一些控件的UserControl和一个文本框,我想在输入键点击该文本框时执行一些程序,我在UserControl中有这个代码:

public event EventHandler TextBoxKeyPressed
{
    add { textBox.KeyPressed+=value; }
    remove { textBox.KeyPressed-=value; }
}
Run Code Online (Sandbox Code Playgroud)

在我的主要表单中,我有很多这个控件,每一个我应该检查按下的键,如果是Enter键,那么执行程序.

有没有办法创建一个自定义事件来检查UserControl中按下的键,如果是Enter键然后触发该事件?

更新:每个自定义控件可能在KeyPresssd事件上有不同的过程

c# events winforms

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

标签 统计

c# ×2

events ×1

linq ×1

sql-server ×1

winforms ×1