質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

9129閲覧

C# クラス名、構造体などの名前を省略したい

piglet

総合スコア47

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2017/07/01 03:32

大量の構造体やクラスを持った長い名前を省略する方法を探しています

現在、コンストラクタでの初期化で長い名前がたくさん並んでいるので
すっきりさせたいのですが何かないでしょうか?
以下のようにできると学んだ気がするのですが詳細が見つかりませんでした

[例]

classA.classB.str1 = ""; classA.classB.str2 = ""; classA.classB.int1 = 0; //以上を以下のようにすっきりとさせたい 何らかの宣言 classA.classB; str1 = ""; str2 = ""; int1 = 0;

もしかするとJavaで学んだのかもしれません(´・ω・`)
C#で同じようなことができないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

質問者さんもコードの classA.classB 等何だか不明ですが・・・

以下のようなことは可能です。こういうことではないということでしたら、もう少し詳しく何がしたいのか説明してください。

public class Car { public string Make { set; get; } public string Model { set; get; } public int Year { set; get; } public int Doors { set; get; } public string Colour { set; get; } public float Price { set; get; } } public Car car = new Car{ Make = "Audi", Model = "A4", Year = 1995, Doors = 5, Colour = "Red", Price = 2995f} public List<Car> cars = new List<Car>{ new Car{ Make = "Audi", Model = "A4", Year = 1995, Doors = 5, Colour = "Red", Price = 2995f}, new Car{ Make = "Ford", Model = "Focus", Year = 2002, Doors = 5, Colour = "Black", Price = 3250f }, new Car{ Make = "BMW", Model = "5 Series", Year = 2006, Doors = 4, Colour = "Grey", Price = 24950f}, new Car{ Make = "Renault", Model = "Laguna", Year = 2000, Doors = 5, Colour = "Red", Price = 3995f} };

投稿2017/07/01 04:12

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

piglet

2017/07/01 06:03

なるほど、書き方次第でなんとかなるものですね。 工夫して心がけたいと思います
退会済みユーザー

退会済みユーザー

2017/07/01 06:46

上記は工夫という部類のことではなくて、C# ではごく基本的なことです。C# の本を読むなどして体系的な知識を付けていただくのがよさそうです。
guest

0

ベストアンサー

私自身はC# やっていないですが。

VB系かもしれません。
実際、VBAでは似たようなものに、Withステートメントだったかな?
それがあります。

例えば、

VBA

1With classA 2 .str = "Hello" 3 .i = 100 4End With

みたいにできるようですし。

なので、「C# With」で検索してみました。

VBのWithってC#でどう書くんですか?

がヒットしました。

これによると...
無理 ( 存在しない ) なようです。

なので従来通りやるべきかと。

また、クラスの場合はフィールド ( C++だと メンバ変数 ) は 基本的に private です。

public にすると C言語でいう グローバル変数 ( 大域変数? ) 状態で、どこからでもアクセスできるため、
厄介です。

投稿2017/07/01 03:45

BeatStar

総合スコア4958

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

piglet

2017/07/01 06:02

まさに、VBのwithでした! すごく便利なのにC#にはないんですね(´・ω・`) すっきりしました、ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問