小编Ben*_*ler的帖子

C#模数运算符

我可以写程序

int a = 3;
int b = 4;

Console.WriteLine(a % b);
Run Code Online (Sandbox Code Playgroud)

我得到的答案是3. 3 mod 4 = 3怎么样?

我无法弄清楚这是如何以这种方式计算的.

c# modulus

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

参数化动态sql不返回任何结果

在C#应用程序中,我创建了由SQL事件探查器捕获的以下参数化动态sql语句:

执行此语句不会返回任何结果:

exec sp_executesql N'SELECT IDWebFormAnswer FROM WebFormAnswers WHERE IDWebform = 55 AND IDWebFormQuestion = 478 AND (ANSWER = ''@answer0'')', N'@answer0 nvarchar(2)', @answer0=N'XL'
Run Code Online (Sandbox Code Playgroud)

但是,如果我在下面简单地用XL替换@ answer0,我会返回4行.

exec sp_executesql N'SELECT IDWebFormAnswer FROM WebFormAnswers WHERE IDWebform = 55 AND IDWebFormQuestion = 478 AND (ANSWER = ''XL'')', N'@answer0 nvarchar(2)', @answer0=N'XL'
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样?我构建查询错了吗?

c# sql t-sql sql-server

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

linq到sql语法不同但应该得到相同的结果

我正在玩表达树和各种Linq语法.我写了以下内容:

using (NorthwindDataContext DB = new NorthwindDataContext())
        {
            DataLoadOptions dlo = new DataLoadOptions();

            // Version 1
            dlo.AssociateWith<Customer>(c => c.Orders.Where(o => o.OrderID < 10700).Select(o => o)); 

            // Version 2
            dlo.AssociateWith<Customer>(c => from o in c.Orders
                                             where o.OrderID < 10700
                                             select o);
        }
Run Code Online (Sandbox Code Playgroud)

版本1方法返回错误,指出"子查询中不支持运算符'选择'."

虽然版本2运行得很好.根据我的理解,我写的是完全相同的东西,但一个是"点"符号语法,另一个是查询表达式语法.

我在这里错过了什么吗?为什么错误在一个而不是另一个"if"它们实际上是同一个查询?

c# linq linq-to-sql

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

标签 统计

c# ×3

linq ×1

linq-to-sql ×1

modulus ×1

sql ×1

sql-server ×1

t-sql ×1