小编Dar*_*ren的帖子

空抓块

我有时会遇到需要捕获异常的情况,如果它被抛出但从不对它做任何事情.换句话说,可能会发生异常,但如果发生异常则无关紧要.

我最近阅读了这篇关于类似内容的文章:http://c2.com/cgi/wiki?EmptyCatchClause

这个人谈论的评论如何

// should never occur 
Run Code Online (Sandbox Code Playgroud)

是代码气味,不应该出现在代码中.然后他们去解释评论如何

// don't care if it happens
Run Code Online (Sandbox Code Playgroud)

完全不同,我自己遇到这样的情况.例如,在发送电子邮件时,我会执行与此类似的操作:

var addressCollection = new MailAddressCollection();
foreach (string address in addresses)
{
    try
    {
        addressCollection.Add(address);
    }
    catch (Exception)
    {
        // Do nothing - if an invalid email occurs continue and try to add the rest
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,您可能认为这样做是个坏主意,因为您希望返回给用户并解释无法将一条或多条消息发送给收件人.但是,如果它只是一个CC地址怎么办?这不太重要,即使其中一个地址无效(可能只是一个错字),您仍然可能仍然希望发送消息.

所以我使用空挡块是对的还是有一个我不知道的更好的替代方案?

.net c# error-handling exception

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

App = EntityFramework在Sql连接字符串中做了什么?

我有2个连接字符串 - 1个本地,1个用于我的主要生产服务器.当我安装它时,实体框架将App = EntityFramework添加到我的本地字符串(4.1) - 我现在在4.3上.这是做什么的 - 我找不到任何参考?

这是我的本地连接字符串:

<add name="LocalConnection"
      providerName="System.Data.EntityClient"
      connectionString="metadata=
      res://*/;
      provider=System.Data.SqlClient;
      provider connection string='
      Data Source=.\SQLEXPRESS;
      AttachDBFilename=C:\mypath\MyDb.mdf;
      Integrated Security=True;
      User Instance=True;
      MultipleActiveResultSets=True;
      App=EntityFramework'" />
Run Code Online (Sandbox Code Playgroud)

只是好奇!

sql database entity-framework connection-string

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

返回值使用String result = Command.ExecuteScalar()在结果返回null时发生错误

我想从数据库中获取第一行第一个单元格值,它可以很好地使用下面的代码.但是当没有找到结果时,它会抛出异常.

如何处理DBNull.
我应该更改我的查询吗?如果他们没有记录,哪些值会返回?

System.NullReferenceException:未将对象引用设置为对象的实例.

码:

    public string absentDayNo(DateTime sdate, DateTime edate, string idemp)
    { 
       string result="0";
       string myQuery="select COUNT(idemp_atd) absentDayNo from td_atd where ";
       myQuery +=" absentdate_atd between '"+sdate+"' and '"+edate+" ";
       myQuery +=" and idemp_atd='"+idemp+"' group by idemp_atd ";

       SqlCommand cmd = new SqlCommand(myQuery, conn);
       conn.Open();
//System.NullReferenceException occurs when their is no data/result
       string getValue = cmd.ExecuteScalar().ToString();
         if (getValue != null)
         {
            result = getValue.ToString();
         }
         conn.Close();
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

c# sql database asp.net sql-server-2008-r2

27
推荐指数
5
解决办法
18万
查看次数

我怎么逃避"逐字串?

我对c#有点新,我在这一点上卡住了,我有一个常规的字符串,我用它\来逃避",逃到这里意味着逃避编译器的解释",并"在屏幕上打印,而我得到预期的输出 - >

class Program
{
    static void Main(string[] args)
    {
        string s1 = "This is a \"regular\" string";
        System.Console.WriteLine(s1);
        System.Console.Read();
    }
}
Run Code Online (Sandbox Code Playgroud)

o/p - >这是一个"常规"字符串

现在,我有一个逐字字符串,我试图以与上面相同的方式逃避"使用\..-->

class Program
{
    static void Main(string[] args)
    {
        string s2 = @"This is \t a \"verbatim\" string";//this would escape \t
        System.Console.WriteLine(s2);
        System.Console.Read();
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么以上不起作用?

.net c# string escaping verbatim-string

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

C#If语句中条件的执行顺序

下面有两个if语句,它们使用逻辑运算符有多个条件.逻辑上两者都相同,但检查顺序不同.第一个工作,第二个工作失败.

我引用了MSDN来检查是否定义了执行条件的顺序; 但我找不到.

考虑具有&&逻辑运算符的多重检查条件.是否保证始终检查第一个条件,如果不满足,则不会检查第二个条件?

我曾经使用方法1,它运作良好.寻找证明使用的MSDN参考.

UPDATE

参考"短路"评估

  List<string> employees = null;  

  if (employees != null && employees.Count > 0)
  {
        string theEmployee = employees[0];
  }

  if (employees.Count > 0 && employees != null)
  {
        string theEmployee = employees[0];
  }
Run Code Online (Sandbox Code Playgroud)

.net c# conditional short-circuiting logical-operators

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

使用一个语句在MySQL中添加多个列

我试图在phpMyAdmin中向现有表添加多个列,但我一直收到同样的错误:

#1064 - 您的SQL语法有错误; 查看与MySQL服务器版本对应的手册,以获得正确的语法...

我在写信:

ALTER TABLE `WeatherCenter`
   ADD COLUMN
      BarometricPressure SMALLINT NOT NULL,
      CloudType VARCHAR(70) NOT NULL,
      WhenLikelyToRain VARCHAR(30) NOT NULL;
Run Code Online (Sandbox Code Playgroud)

我已经在StackOverflow上提到了过去的帖子,我遵循专家的建议,为什么我会收到错误?

mysql sql database

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

sql server:在必要时在外键上创建索引

我有很多带外键的表,有些有索引,有些则没有.所有外键都使用名为FK_<name of the foreign key>的索引命名IX_<name of the foreign key>.

考虑到外键的列基数,创建(或不创建)索引是否有一些好的做法?这可以作为T-SQL命令编写脚本吗?

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

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

Sql Update Query

我有一个T1包含三列的表:Id, Name, Address

还有另一个表T2包含2列Id, New_Address.Id列与... T2相同T1.

我需要一个查询将更新Address的列T1具有New_AddressT2.

我可以通过检查ID并执行update语句来完成循环.怎么能用查询完成?

sql t-sql database sql-server

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

更新列的子字符串

我在SQL Server 2008数据库中有一个名为的表Meter.该表有一个名为的列Name.

Name中的每个条目都具有以下前缀ZAA\.我想将此前缀更改为ZAA_不影响列中其余文本.

sql t-sql database where sql-server-2008

17
推荐指数
1
解决办法
6万
查看次数

将类的对象转换为另一个对象

我有两个类几乎相同,除了存储在它们中的数据类型.一个类包含所有double值,而other包含所有float值.

class DoubleClass
{
    double X;
    double Y;
    double Z;
}

class FloatClass
{
    float X;
    float Y;
    float Z;
}
Run Code Online (Sandbox Code Playgroud)

现在我有一个DoubleClass,我想转换为FloatClass.

var doubleObject = new DoubleClass();

var convertedObject = (FloatClass)doubleObject; // TODO: This
Run Code Online (Sandbox Code Playgroud)

一种简单的方法是创建一个创建新FloatClass对象的方法,填充所有值并返回它.有没有其他有效的方法来做到这一点.

.net c# type-conversion

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