OracleString
構造は、データベースに格納されるか、またはデータベースから取得される文字の可変長ストリームを表します。
クラスの継承
System.Object
System.ValueType
Oracle.DataAccess.Types.OracleString
宣言
// C# public struct OracleString : IComparable, INullable, IXmlSerializable
要件
プロバイダ | ODP.NET管理対象外ドライバ | ODP.NET管理対象ドライバ |
アセンブリ | Oracle.DataAccess.dll |
Oracle.ManagedDataAccess.dll |
ネームスペース | Oracle.DataAccess.Types |
Oracle.ManagedDataAccess.Types |
.NET Framework | 3.5, 4.0, 4.5 | 4.0, 4.5 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
例
// C# using System; using Oracle.DataAccess.Types; class OracleStringSample { static void Main() { // Initialize OracleString structs OracleString string1 = new OracleString("AAA"); // Display the string "AAA" Console.WriteLine("{0} has length of {1}", string1, string1.Length); // Contatenate characters to string1 until the length is 5 while (string1.Length < 5) string1 = OracleString.Concat(string1,"a"); // Display the string of "AAAaa" Console.WriteLine("{0} has length of {1}", string1, string1.Length); } }
次の表に、OracleString
メンバーを示します。
OracleStringコンストラクタ
OracleString
コンストラクタを、表14-87にリストします。
OracleString静的フィールド
OracleString
静的フィールドを、表14-88にリストします。
OracleString静的メソッド
OracleString
静的メソッドを、表14-89にリストします。
表14-89 OracleString静的メソッド
メソッド | 説明 |
---|---|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
OracleString静的演算子
OracleString
静的演算子を、表14-90にリストします。
表14-90 OracleString静的演算子
演算子 | 説明 |
---|---|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
OracleString型変換
OracleString
型変換を、表14-91にリストします。
表14-91 OracleString型変換
演算子 | 説明 |
---|---|
指定された |
|
指定された |
OracleStringプロパティ
OracleString
プロパティを、表14-92にリストします。
表14-92 OracleStringプロパティ
プロパティ | 説明 |
---|---|
文字列比較を実行するときに、大/小文字の区別を無視する必要があるかどうかを示します |
|
現行インスタンスにNULL値があるかどうかを示します |
|
索引を使用して、 |
|
|
|
|
|
OracleStringメソッド
OracleString
メソッドを、表14-93にリストします。
表14-93 OracleStringメソッド
メソッド | 説明 |
---|---|
現行の |
|
現行の |
|
オブジェクトが現行の |
|
|
|
クライアント・キャラクタ・セットの形式で、 |
|
GetType |
|
Unicode形式で、 |
|
現行の |
OracleString
コンストラクタは、OracleString
構造の新しいインスタンスを作成します。
オーバーロード・リスト:
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、文字列を使用して値を設定します。
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、文字列を使用して値を設定し、比較のときに大/小文字の区別が無視されるかどうかを指定します。
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、バイト配列を使用して値を設定し、指定されたバイト配列がUnicodeでエンコードされているかどうかを指定します。
OracleString(byte [ ], bool, bool)
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、バイト配列を使用してその値を設定し、指定されたバイト配列がUnicodeでエンコードされているかどうかと比較のときに大/小文字の区別が無視されるかどうかを指定します。
OracleString(byte [ ], int, int, bool)
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、バイト配列を使用してその値を設定し、バイト配列の開始索引とバイト配列からコピーされるバイト数、および指定されたバイト配列がUnicodeでエンコードされているかどうかを指定します。
OracleString(byte [ ], int, int, bool, bool)
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、バイト配列を使用してその値を設定し、バイト配列の開始索引とバイト配列からコピーされるバイト数、および指定されたバイト配列がUnicodeでエンコードされているかどうかと比較のときに大/小文字の区別が無視されるかどうかを指定します。
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、文字列を使用して値を設定します。
宣言
// C#
public OracleString(string data);
パラメータ
data
文字列値
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、文字列を使用して値を設定し、比較のときに大/小文字の区別が無視されるかどうかを指定します。
宣言
// C# public OracleString(string data, bool isCaseIgnored);
パラメータ
data
文字列値
isCaseIgnored
比較のときに大/小文字の区別が無視されるかどうかを指定します。大/小文字の区別が無視される場合はtrue
、それ以外の場合はfalse
を指定します。
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、バイト配列を使用して値を設定し、指定されたバイト配列がUnicodeでエンコードされているかどうかを指定します。
宣言
// C# public OracleString(byte[] data, bool fUnicode);
パラメータ
data
新しいOracleString
のバイト配列データ
fUnicode
指定されたdata
がUnicodeでエンコードされているかどうかを指定します。Unicodeでエンコードされている場合はtrue
、それ以外の場合はfalse
を指定します。
例外
ArgumentNullException
- data
パラメータがNULLです。
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、バイト配列を使用してその値を設定し、指定されたバイト配列がUnicodeでエンコードされているかどうかと比較のときに大/小文字の区別が無視されるかどうかを指定します。
宣言
// C# public OracleString(byte[] data, bool fUnicode, bool isCaseIgnored);
パラメータ
data
新しいOracleString
のバイト配列データ
fUnicode
指定されたdata
がUnicodeでエンコードされているかどうかを指定します。Unicodeでエンコードされている場合はtrue
、それ以外の場合はfalse
を指定します。
isCaseIgnored
比較のときに大/小文字の区別が無視されるかどうかを指定します。大/小文字の区別が無視される場合はtrue
、それ以外の場合はfalse
を指定します。
例外
ArgumentNullException
- data
パラメータがNULLです。
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、バイト配列を使用してその値を設定し、バイト配列の開始索引とバイト配列からコピーされるバイト数、および指定されたバイト配列がUnicodeでエンコードされているかどうかを指定します。
宣言
// C# public OracleString(byte[] data, int index, int count, bool fUnicode);
パラメータ
data
新しいOracleString
のバイト配列データ
index
data
からコピーされる開始索引
count
コピーされるバイト数
fUnicode
指定されたdata
がUnicodeでエンコードされているかどうかを指定します。Unicodeでエンコードされている場合はtrue
、それ以外の場合はfalse
を指定します。
例外
ArgumentNullException
- data
パラメータがNULLです。
ArgumentOutOfRangeException
- count
パラメータがゼロ未満です。
IndexOutOfRangeException
- index
パラメータがdata
の長さ以上か、ゼロ未満です。
このコンストラクタは、OracleString
構造の新しいインスタンスを作成し、バイト配列を使用してその値を設定し、バイト配列の開始索引とバイト配列からコピーされるバイト数、および指定されたバイト配列がUnicodeでエンコードされているかどうかと比較のときに大/小文字の区別が無視されるかどうかを指定します。
宣言
// C# public OracleString(byte[] data, int index, int count, bool fUnicode, bool isCaseIgnored);
パラメータ
data
新しいOracleString
のバイト配列データ
index
data
からコピーされる開始索引
count
コピーされるバイト数
fUnicode
指定されたdata
がUnicodeでエンコードされているかどうかを指定します。Unicodeでエンコードされている場合はtrue
、それ以外の場合はfalse
を指定します。
isCaseIgnored
比較のときに大/小文字の区別が無視されるかどうかを指定します。大/小文字の区別が無視される場合はtrue
、それ以外の場合はfalse
を指定します。
例外
ArgumentNullException
- data
パラメータがNULLです。
ArgumentOutOfRangeException
- count
パラメータがゼロ未満です。
IndexOutOfRangeException
- index
パラメータがdata
の長さ以上か、ゼロ未満です。
OracleString
静的フィールドを、表14-94にリストします。
OracleString
静的メソッドを、表14-95にリストします。
表14-95 OracleString静的メソッド
メソッド | 説明 |
---|---|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
この静的メソッドは、2つのOracleString
インスタンスを連結して、その結果を表す新しいOracleString
インスタンスを戻します。
宣言
// C# public static OracleString Concat(OracleString str1, OracleString str2);
パラメータ
str1
最初のOracleString
str2
2番目のOracleString
戻り値
OracleString
備考
引数のいずれかにNULL値がある場合、戻されたOracleString
構造にはNULL値があります。
Object
をオーバーロードします。
この静的メソッドは、比較される2つのOracleString
が等しいかどうかを決定します。
宣言
// C# public static bool Equals(OracleString str1, OracleString str2);
パラメータ
str1
最初のOracleString
str2
2番目のOracleString
戻り値
比較される2つのOracleString
が等しい場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
この静的メソッドは、2つのOracleString
の最初の値が、2番目の値より大きいかどうかを決定します。
宣言
// C# public static bool GreaterThan(OracleString str1, OracleString str2);
パラメータ
str1
最初のOracleString
str2
2番目のOracleString
戻り値
2つのOracleString
の最初の値が2番目の値より大きい場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
この静的メソッドでは、2つのOracleString
値の最初の値が、2番目の値以上であるかどうかを決定します。
宣言
// C# public static bool GreaterThanOrEqual(OracleString str1, OracleString str2);
パラメータ
str1
最初のOracleString
str2
2番目のOracleString
戻り値
2つのOracleString
の最初の値が2番目の値以上の場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
この静的メソッドでは、2つのOracleString
値の最初の値が、2番目の値より小さいかどうかを決定します。
宣言
// C# public static bool LessThan(OracleString str1, OracleString str2);
パラメータ
str1
最初のOracleString
str2
2番目のOracleString
戻り値
最初の値が2番目の値より小さい場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
この静的メソッドでは、2つのOracleString
値の最初の値が、2番目の値以下かどうかを決定します。
宣言
// C# public static bool LessThanOrEqual(OracleString str1, OracleString str2);
パラメータ
str1
最初のOracleString
str2
2番目のOracleString
戻り値
最初の値が2番目の値以下の場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
この静的メソッドは、2つのOracleString
値が等しくないかどうかを決定します。
宣言
// C# public static bool NotEquals(OracleString str1, OracleString str2);
パラメータ
str1
最初のOracleString
str2
2番目のOracleString
戻り値
2つのOracleString
インスタンスが等しくない場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
OracleString
静的演算子を、表14-96にリストします。
表14-96 OracleString静的演算子
演算子 | 説明 |
---|---|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
|
2つの |
この静的演算子は、2つのOracleString
値を連結します。
宣言
// C# public static OracleString operator + (OracleString value1, OracleString value2);
パラメータ
value1
最初のOracleString
value2
2番目のOracleString
戻り値
OracleString
備考
引数のいずれかにNULL値がある場合、戻されたOracleString
構造にはNULL値があります。
この静的演算子は、2つのOracleString
値が等しいかどうかを決定します。
宣言
// C# public static bool operator == (OracleString value1, OracleString value2);
パラメータ
value1
最初のOracleString
value2
2番目のOracleString
戻り値
2つのOracleString
値が等しい場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
この静的演算子は、2つのOracleString
の最初の値が、2番目の値より大きいかどうかを決定します。
宣言
// C# public static bool operator > (OracleString value1, OracleString value2);
パラメータ
value1
最初のOracleString
value2
2番目のOracleString
戻り値
2つのOracleString
の最初の値が2番目の値より大きい場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
この静的演算子は、2つのOracleString
の最初の値が、2番目の値以上かどうかを決定します。
宣言
// C# public static bool operator >= (OracleString value1, OracleString value2);
パラメータ
value1
最初のOracleString
value2
2番目のOracleString
戻り値
2つのOracleString
の最初の値が2番目の値以上の場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
この静的演算子は、2つのOracleString
値が等しくないかどうかを決定します。
宣言
// C# public static bool operator != (OracleString value1, OracleString value2);
パラメータ
value1
最初のOracleString
value2
2番目のOracleString
戻り値
2つのOracleString
値が等しくない場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
この静的演算子は、2つのOracleString
の最初の値が、2番目の値より小さいかどうかを決定します。
宣言
// C# public static bool operator < (OracleString value1, OracleString value2);
パラメータ
value1
最初のOracleString
value2
2番目のOracleString
戻り値
2つのOracleString
の最初の値が2番目の値より小さい場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
この静的演算子は、2つのOracleString
の最初の値が、2番目の値以下かどうかを決定します。
宣言
// C# public static bool operator <= (OracleString value1, OracleString value1);
パラメータ
value1
最初のOracleString
value2
2番目のOracleString
戻り値
2つのOracleString
の最初の値が2番目の値以下の場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
OracleString
型変換を、表14-97にリストします。
表14-97 OracleString型変換
演算子 | 説明 |
---|---|
指定された |
|
指定された |
この型変換演算子は、指定されたOracleString
をstring
に変換します。
宣言
//C#
public static explicit operator string (OracleString value1);
パラメータ
value1
指定されたOracleString
戻り値
string
例外
OracleNullValueException
- OracleString
構造にNULL値があります。
OracleString
プロパティを、表14-98にリストします。
表14-98 OracleStringプロパティ
プロパティ | 説明 |
---|---|
文字列比較を実行するときに、大/小文字の区別を無視する必要があるかどうかを示します |
|
現行インスタンスにNULL値があるかどうかを示します |
|
索引を使用して、 |
|
|
|
|
|
このプロパティは、文字列比較を実行するときに、大/小文字の区別を無視する必要があるかどうかを示します。
宣言
//C# public bool IsCaseIgnored {get;set;}
プロパティ値
文字列比較で大/小文字の区別を無視する必要がある場合はtrue
、それ以外の場合はfalse
を戻します。
備考
デフォルト値はtrue
例
// C# using System; using Oracle.DataAccess.Types; class IsCaseIgnoredSample { static void Main() { OracleString string1 = new OracleString("aAaAa"); OracleString string2 = new OracleString("AaAaA"); // Ignore case for comparisons string1.IsCaseIgnored = true; string2.IsCaseIgnored = true; // Same; Prints 0 Console.WriteLine(string1.CompareTo(string2)); // Make comparisons case sensitive // Note that IsCaseIgnored must be set to false for both // OracleStrings; otherwise an exception is thrown string1.IsCaseIgnored = false; string2.IsCaseIgnored = false; // Different; Prints nonzero value Console.WriteLine(string1.CompareTo(string2)); } }
このプロパティは現行インスタンスにNULL値があるかどうかを示します。
宣言
// C# public bool IsNull {get;}
プロパティ値
現行インスタンスにNULL値が含まれる場合はtrue
、それ以外の場合はfalse
を戻します。
このプロパティは、索引を使用して、OracleString
内の特定の文字を取得します。
宣言
// C# public char Item {get;}
プロパティ値
char
値
例外
OracleNullValueException
- 現行インスタンスにはNULL値があります。
このプロパティは、OracleString
の長さを戻します。
宣言
// C# public int Length {get;}
プロパティ値
整数
例外
OracleNullValueException
- 現行インスタンスにはNULL値があります。
OracleString
メソッドを、表14-99にリストします。
表14-99 OracleStringメソッド
メソッド | 説明 |
---|---|
現行の |
|
現行の |
|
オブジェクトが現行の |
|
|
|
クライアント・キャラクタ・セットの形式で、 |
|
GetType |
|
Unicode形式で、 |
|
現行の |
このメソッドは、OracleString
インスタンスのコピーを作成します。
宣言
// C# public OracleString Clone();
戻り値
OracleString
構造
備考
複製されたオブジェクトのプロパティ値は、複製元のオブジェクトのプロパティ値と同じです。
例
// C# using System; using Oracle.DataAccess.Types; class CloneSample { static void Main() { OracleString str1 = new OracleString("aAaAa"); OracleString str2 = str1.Clone(); // The OracleStrings are same; Prints 0 Console.WriteLine(str1.CompareTo(str2)); } }
このメソッドは、現行のOracleString
インスタンスと指定されたオブジェクトを比較して、その相対値を表す整数を戻します。
宣言
// C# public int CompareTo(object obj);
パラメータ
obj
現行インスタンスと比較されるオブジェクト
戻り値
メソッドが戻す数値は次のとおりです。
ゼロ未満: 現行のOracleString
値がobj
より小さい場合
ゼロ: 現行のOracleString
値がobj
と等しい場合
ゼロ超過: 現行のOracleString
値がobj
より大きい場合
実装
IComparable
例外
ArgumentException
- obj
パラメータがOracleString
型ではありません。
備考
次のルールが、このメソッドの動作に適用されます。
比較はOracleString
間で行う必要があります。たとえば、OracleString
インスタンスとOracleBinary
インスタンスを比較することはできません。OracleString
を別の型と比較すると、ArgumentException
が表示されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
このメソッドは、指定されたオブジェクトがOracleString
のインスタンスかどうか、および現行のOracleString
インスタンスと同じ値を持っているかどうかを決定します。
宣言
// C#
public override bool Equals(object obj);
パラメータ
obj
比較されるオブジェクト
戻り値
指定されたオブジェクトがOracleString
のインスタンスで、現行のOracleString
インスタンスと同じ値を持っている場合はtrue
、それ以外の場合はfalse
を戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleString
は、NULL値を持つOracleString
より大きくなります。
NULL値を含む2つのOracleString
は等しくなります。
Object
をオーバーライドします。
このメソッドは、OracleString
インスタンスのハッシュ・コードを戻します。
宣言
// C# public override int GetHashCode();
戻り値
ハッシュ・コードを表す数値
このメソッドは、クライアント・キャラクタ・セットの形式で、OracleString
の内容を含むバイトの配列を戻します。
宣言
// C# public byte[] GetNonUnicodeBytes();
戻り値
クライアント・キャラクタ・セット形式のOracleString
の内容を含むバイト配列
備考
現行インスタンスにNULL値がある場合は、OracleNullValueException
が表示されます。
このメソッドは、Unicode形式で、OracleString
の内容を含むバイトの配列を戻します。
宣言
// C# public byte[] GetUnicodeBytes();
戻り値
Unicode形式のOracleString
の内容を含むバイト配列
備考
現行インスタンスにNULL値がある場合は、OracleNullValueException
が表示されます。