/*C#에서 Null과 Empty String 차이*/
/*C#에서 <Null String>과 <Empty String> 차이*/

1. string에 null 이거나 ''" (Empty String)일때, 처리하지 않게 하려면, string.IsNullOrEmpty()를 사용하면 됩니다.

if (!string.IsNullOrEmpty(row["TIP_ADJUST"].ToString()))
{
     _tip_adjust_total += Convert.ToDecimal(row["TIP_ADJUST"]);
}

2. C#에서 Null과 Empty String 차이

2.1. Empty String 
string s = ""; //System.String 객체에  zero문자만을 가진것.
int len = s.Length;; // Number -> 0

2.2. Null String
string s = null; 
int len = s.Length;; // NullReferenceExcption 발생(throw).

Tip) if(s==null) s="";
Tip) if(s==null) s="";
Tip) if(s==null) s="";

3. C#의 null 체크하기
string str =null ;
if (str == null) MessageBox.Show("String is null");

4. C#에서 null 또는 string.Empty 체크하기
string str =null;
if (string.IsNullOrEmpty(str)) MessageBox.Show("String is empty or null");

5. Example

class Program
{
public static void Main()
{
StringExCls nm = new StringExCls();
nm.running1();
nm.running2();
}
}
class StringExCls
{
public void running1()
{
    string tmp=null;  //NULL

    if(string.IsNullOrEmpty(tmp))
    {
        if(tmp==null)
        {
            Console.WriteLine("NULL");
            //tmp.Length call -> NullReferenceException !!!!!!!!
            //tmp.Length call -> NullReferenceException !!!!!!!!
            //tmp.Length call -> NullReferenceException !!!!!!!!
        }
        else
        {
            Console.WriteLine("Empty");
            Console.WriteLine("Empty,Length:" + tmp.Length);
        }
    }
}
public void running2()
{
    string tmp="";   //Empty

    if(string.IsNullOrEmpty(tmp)) 
    {
        if(tmp==null)
        {
            Console.WriteLine("NULL");
        }
        else
        {
            Console.WriteLine("Empty");
            Console.WriteLine("Empty,Length:" + tmp.Length);
        }
    }
}
}

+ Recent posts