| Oracle® Data Provider for .NET開発者ガイド ODAC 12c リリース4 (12.1.0.2) for Microsoft Windows E72575-01 | 
 | 
|  前 |  次 | 
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.6 | 4.0, 4.5, 4.6 | 
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
例
// 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が表示されます。