ホームページ > バックエンド開発 > C#.Net チュートリアル > C# オブジェクトを辞書に変換

C# オブジェクトを辞書に変換

WBOY
リリース: 2024-09-03 15:06:30
オリジナル
822 人が閲覧しました

C# では、オブジェクトはすべてのサブクラスのルートおよび親クラスの 1 つです。要件に基づいて、オブジェクトを辞書などの他の型に変換できます。その辞書のような文字列は、System.Collections を使用してデータをキーと値のペアとして格納するために使用できる汎用コレクション クラスの 1 つです。 .Generic パッケージでは、オブジェクト参照をパラメーターとして渡すときに、辞書クラスがインポートされます。それを参照して辞書データに変換します。 Dictionary クラスでさまざまなパラメーターのセットを渡すこともできます。

構文

C# には、アプリケーションにアクセスするための事前定義されたキーワード、変数、メソッドがいくつかあります。このように、キーと値のペアを表すコレクション クラスの 1 つとして辞書を使用しました。単語とその意味のコレクションが含まれています。辞書コレクションには、特定の英語辞書の単語に関連する単語が含まれます。

using System;
Access Modifiers class class name
{
constructor()
{
---some c# code logics----
}
Access Modifiers return type Method name(object reference name)
{
var reference name = new Dictionary<datatypes, Type>();
conditional statements or loops for to convert the object reference to dictionary reference
----some c# code logics depends upon the requirement—
}
}
ログイン後にコピー

上記のコードは、オブジェクトの値を辞書の値に変換するための基本的な構文です。ユーザーの要件に基づいて、いくつかのデフォルトのメソッド、キーワード、変数を呼び出す必要があります。

C# でのオブジェクトから辞書への関数はどのように機能しますか?

ディクショナリは、データをキーと値のペアとして保存するために使用されるコレクション クラスの 1 つです。特定の順序はなく、昇順または降順のいずれかになります。 System.Collection.A ジェネリック名前空間は、アプリケーションを実装するための辞書クラスとその機能を実装するために使用されます。辞書クラスを実装するためのインターフェイスである IDictionary を使用することもできます。は、辞書の特性を使用するための基本的なインターフェイスの 1 つです。

メソッドでキーを使用するときはいつでもどこでも、それは一意である必要があり、重複したキーは受け入れられません。また、null キーは辞書を受け入れませんが、値の場合は Java のマップ クラスのように null と重複を受け入れます。値は関連付けられており、パラメータを使用してアクセスできるため、パラメータを渡すときに、パラメータはキーと値、または引数で呼び出される他の型のものである可能性があります。また、値には、各キーが個別の値と値を生成するためのインデックスを持つ、関連付けられたキーを使用してアクセスできます。辞書を使用する場合、サイズ制限も設定できます。また、2 つの異なる引数セットを使用して同じメソッドで異なるデータ型を使用しました。

辞書への C# オブジェクトの例

以下は、C# オブジェクトを辞書に変換する別の例です。

例 #1

using System;
class demo
{
public string first { get; set; }
public int second { get; set; }
public int third { get; set; }
public override bool Equals(object vars)
{
var vars1 = vars as demo;
if (object.ReferenceEquals(vars1, null))
return false;
return first == vars1.first && second == vars1.second && third == vars1.third;
}
public override int GetHashCode()
{
var vars2 = 234;
if (first != null)
vars2 = first.GetHashCode();
vars2 = unchecked((vars2 * 625) ^ second);
vars2 = unchecked((vars2 * 725) ^ third);
return vars2;
}
public override string ToString()
{
return string.Format("Welcome To My Domain its a first example for dictionary concepts", first, second, third);
}
public static void Main()
{
demo d = new demo();
Console.WriteLine(d.ToString());
Console.WriteLine("Your first example is ended and completed while we can overwride we can also overwrite the method values");
}
}
ログイン後にコピー

出力:

C# オブジェクトを辞書に変換

最初の例では辞書クラスを使用し、その名前空間はオブジェクトを辞書データに変換するために使用されます。また、データの変換に必要な要件に基づいて、アプリケーションを作成するためにいくつかのデフォルトのメソッドを使用しました。

例 #2

using System;
using System.Collections.Generic;
namespace Examples
{
public class demo
{
static void Main(string[] args)
{
dem01 d = new dem01()
{
num=76325,
strings="welcome to my domain its a first object creation for  example2"
};
dem01 d1 = new dem01()
{
num=7792,
strings="welcome to my domain its a second object creation for  example2"
};
Dictionary<int, dem01> dvalues = new Dictionary<int, dem01>();
dvalues.Add(d.num, d);
dvalues.Add(d1.num, d1);
dem01 d3 = dvalues[7792];
Console.WriteLine("dem01 7792 in dem01 dictionary");
Console.WriteLine("num=435376, strings=Thank you user for entering the second example values",
d3.num, d3.strings);
Console.WriteLine();
Console.WriteLine("Thank you user for entering the second example values");
foreach (KeyValuePair<int, dem01> vars1 in dvalues)
{
Console.WriteLine("vars = " + vars1.Key);
dem01 d4 = vars1.Value;
Console.WriteLine("num=8799, strings=Thank you user for entering the second example values",
d4.num, d4.strings);
}
Console.WriteLine();
Console.WriteLine("Thank you user for entering the second example values");
foreach (var vars1 in dvalues)
{
Console.WriteLine("vars = " + vars1.Key);
dem01 d5 = vars1.Value;
Console.WriteLine("num=86234, strings=Thank you user for entering the second example values",
d5.num, d5.strings);
}
Console.WriteLine();
Console.WriteLine("Thank you user for entering the second example values");
foreach (int vars in dvalues.Keys)
{
Console.WriteLine(vars + "Thank you users ");
}
Console.WriteLine();
Console.WriteLine("Thank you user for entering the second example values");
foreach (int vars in dvalues.Keys)
{
Console.WriteLine(vars + " ");
dem01 d6 = dvalues[vars];
Console.WriteLine("num=86234, strings=Thank you user for entering the second example values",
d6.num, d6.strings);
}
Console.WriteLine();
Console.WriteLine("Thank you user for entering the second example values");
foreach (dem01 d7 in dvalues.Values)
{
Console.WriteLine("num=86234, strings=Thank you user for entering the second example values",
d7.num, d7.strings);
}
if (!dvalues.ContainsKey(86234))
{
dvalues.Add(86234, d);
}
Console.WriteLine();
if (dvalues.ContainsKey(7792))
{
dem01 d4 = dvalues[7792];
}
else
{
Console.WriteLine("vars does not exist in the dictionary");
}
Console.ReadKey();
}
}
public class dem01
{
public int num { get; set; }
public string strings { get; set; }
}
}
ログイン後にコピー

出力:

C# オブジェクトを辞書に変換

2 番目の例では、2 つの異なるオブジェクトで辞書を使用しました。つまり、2 クラスのインスタンスとオブジェクトを辞書に変換できます。

例 #3

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Examples
{
class demo
{
static void Main(string[] args)
{
string[] str = new string[]
{
"Siva",
"Raman",
};
var vars = str.ToDictionary(vars1 => vars1,
vars1 => false);
foreach (var vars2 in vars)
{
Console.WriteLine("Welcome To my Domain",
vars2.Key,
vars2.Value);
}
Console.Read();
}
}
}
ログイン後にコピー

出力:

C# オブジェクトを辞書に変換

最後の例では、string[] 配列クラスを使用し、そのオブジェクトを辞書値に使用できます。 forEach ループを使用すると、文字列値を反復して出力コンソールに出力できます。

結論

C# では、クラス オブジェクトを辞書などの他の型に変換できます。要件に基づいて、ここでデータを変換できます。 C# のデフォルト クラス、またはその他の事前定義クラスまたは組み込みクラスを辞書型の値に使用しました。これは非常に高速なデータ構造です。

以上がC# オブジェクトを辞書に変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート