String.Empty 필드
빈 문자열을 나타냅니다. 이 필드는 읽기 전용입니다.
네임스페이스: System
어셈블리: mscorlib(mscorlib.dll)
구문
‘선언
Public Shared ReadOnly Empty As String
‘사용 방법
Dim value As String
value = String.Empty
public static readonly string Empty
public:
static initonly String^ Empty
public static final String Empty
public static final var Empty : String
설명
이 필드의 값은 길이가 0인 문자열 ""입니다.
예제
다음 코드 예제에서는 Empty 필드를 사용하는 방법을 보여 줍니다.
첫 번째 예제에서는 다른 필드의 값이 Null 참조(Visual Basic의 경우 Nothing)인 경우 Empty 문자열이 기본값으로 반환됩니다.
Dim myBinding As DataBinding = DataBindings("Text")
If Not (myBinding Is Nothing) Then
Return myBinding.Expression
End If
Return [String].Empty
End Get
DataBinding myBinding = DataBindings["Text"];
if (myBinding != null)
{
return myBinding.Expression;
}
return String.Empty;
DataBinding^ myBinding = DataBindings[ "Text" ];
if ( myBinding != nullptr )
{
return myBinding->Expression;
}
return String::Empty;
DataBinding myBinding = get_DataBindings().get_Item("Text");
if (myBinding != null) {
return myBinding.get_Expression();
}
return("");
두 번째 예제에서는 부분 문자열을 테스트하기 위해 Empty 문자열이 Compare에 사용됩니다.
Dim myString As String = "abc"
Dim test1 As Boolean = String.Compare(myString.Substring(2, 1), "c") = 0 ' This is true.
myString.Substring(3, 1) ' This throws ArgumentOutOfRangeException.
Dim test2 As Boolean = String.Compare(myString.Substring(3, 0), String.Empty) = 0 ' This is true.
String myString = "abc";
bool test1 = String.Compare(myString.Substring(2, 1), "c") == 0; // This is true.
myString.Substring(3, 1); // This throws ArgumentOutOfRangeException.
bool test2 = String.Compare(myString.Substring(3, 0), String.Empty) == 0; // This is true.
String^ myString = "abc";
bool test1 = String::Compare( myString->Substring( 2, 1 ), "c" ) == 0; // This is true.
myString->Substring( 3, 1 ); // This throws ArgumentOutOfRangeException.
bool test2 = String::Compare( myString->Substring( 3, 0 ), String::Empty ) == 0; // This is true.
String myString = "abc";
// This is true.
boolean test1 = String.Compare(myString.Substring(2, 1), "c") == 0;
myString.Substring(3, 1); // This throws ArgumentOutOfRangeException.
// This is true.
boolean test2 = String.Compare(myString.Substring(3, 0), " ") == 0;
var myString : String = "abc";
var test1 : boolean = String.Compare(myString.Substring(2, 1), "c") == 0; // This is true.
myString.Substring(3, 1); // This throws ArgumentOutOfRangeException.
var test2 : boolean = String.Compare(myString.Substring(3, 0), String.Empty) == 0; // This is true.
세 번째 예제에서는 XML 구문 분석에 대해 결정하기 위해 Empty 문자열이 XPathNavigator 개체의 결정 블록에 사용됩니다.
public shared sub RecursiveWalk(nav as XPathNavigator)
select case nav.NodeType
case XPathNodeType.Element
if (nav.Prefix=String.Empty)
Console.WriteLine("<{0}>", nav.LocalName)
else
Console.Write("<{0}:{1}>", nav.Prefix, nav.LocalName)
Console.WriteLine(" "+ nav.NamespaceURI)
end if
case XPathNodeType.Text
Console.WriteLine(" " + nav.Value)
end select
if ( nav.MoveToFirstChild() )
do
RecursiveWalk(nav)
loop while ( nav.MoveToNext() )
nav.MoveToParent()
if (nav.NodeType = XPathNodeType.Element)
Console.WriteLine("</{0}>", nav.Name)
end if
end if
end sub
public static void RecursiveWalk(XPathNavigator nav)
{
switch (nav.NodeType){
case XPathNodeType.Element:
if (nav.Prefix==String.Empty)
Console.WriteLine("<{0}>", nav.LocalName);
else
Console.Write("<{0}:{1}>", nav.Prefix, nav.LocalName);
Console.WriteLine("\t"+ nav.NamespaceURI);
break;
case XPathNodeType.Text:
Console.WriteLine("\t" + nav.Value);
break;
}
if ( nav.MoveToFirstChild() )
{
do{
RecursiveWalk(nav);
} while ( nav.MoveToNext() );
nav.MoveToParent();
if (nav.NodeType == XPathNodeType.Element)
Console.WriteLine("</{0}>", nav.Name);
}
}
static void RecursiveWalk( XPathNavigator^ nav )
{
switch ( nav->NodeType )
{
case XPathNodeType::Element:
if ( nav->Prefix == String::Empty )
Console::WriteLine( "< {0}>", nav->LocalName );
else
Console::Write( "< {0}: {1}>", nav->Prefix, nav->LocalName );
Console::WriteLine( "\t {0}", nav->NamespaceURI );
break;
case XPathNodeType::Text:
Console::WriteLine( "\t {0}", nav->Value );
break;
}
if ( nav->MoveToFirstChild() )
{
do
{
RecursiveWalk( nav );
}
while ( nav->MoveToNext() );
nav->MoveToParent();
if ( nav->NodeType == XPathNodeType::Element )
Console::WriteLine( "</ {0}>", nav->Name );
}
}
public static void RecursiveWalk(XPathNavigator nav)
{
switch (nav.get_NodeType()) {
case XPathNodeType.Element:
if (nav.get_Prefix().Equals("")){
Console.WriteLine("<{0}>", nav.get_LocalName());
}
else {
Console.Write("<{0}:{1}>", nav.get_Prefix(),
nav.get_LocalName());
}
Console.WriteLine("\t" + nav.get_NamespaceURI());
break;
case XPathNodeType.Text:
Console.WriteLine("\t" + nav.get_Value());
break;
}
if (nav.MoveToFirstChild()) {
do {
RecursiveWalk(nav);
} while (nav.MoveToNext());
nav.MoveToParent();
if (nav.get_NodeType() .Equals(XPathNodeType.Element)) {
Console.WriteLine("</{0}>", nav.get_Name());
}
}
} //RecursiveWalk
플랫폼
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
.NET Compact Framework
2.0, 1.0에서 지원