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が表示されます。