
C#.net でプログラムを作成中です。
C++では定数等を#defineで定義していましたが、C#ではDefineは無いとの事です。
C#でC++の#Define に相当する事は出来ないのでしょうか。
やりたい事は 長い同じコマンドを別の文字で代替する事です。
もしC#に#Define文があったとして、以下の様な事を行いたいのです。
#Define NL printf("\n");
NL
このコーディングが展開した時、
pritf("\n");
と展開される。
この様な事が出来る文をご存知の方、若しくはこの様な事は出来ないと言う事をご存知の方、よろしく御回答下さい。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
定数の定義では無く、どちらかというと「マクロ」としての機能をC#で使いたいと言うことですね。
結論から言うと、C++の#defineを使ったマクロは、C#では利用できません。
このようなマクロはバグの元になりやすいため、意図的にC#から削られています。
もし、汎用的に使えるような引数を渡したい…という事であれば、ジェネリックなどを使うと良いですよ。
ちなみに、単純な定数の定義であればconst、列挙体であればenumを使って定義できます。
ご回答、ありがとうございます。
C#ではC++の様なDefineは使用出来ない事が理解出来ました。
今回の目的は引数を渡すと言う事では無く、単純に他のライブラリー等の呼び出しを、自分のプログラムに関連した名前にしたかったものです。
しかし、代入が出来ないのであれば仕方がありませんので指定された名称で呼び出します。
ありがとうございました。
No.2
- 回答日時:
#1です。
>やりたい事は 長い同じコマンドを別の文字で代替する事です。
特にマクロが利用したいわけでは無く、コマンド名(メソッド名)を短くして使いたいと言うことですね。
このような場合、別のメソッドを作って、その中から長い名前のメソッドを呼ぶようにすれば、とりあえず実現できます。
ただし、メソッドの括弧までは省略できません。
▼例
public void NL()
{
Console.WriteLine(); // printf("\n")に相当
}
public void 任意のメソッド()
{
// 処理~
NL();
// 処理~
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- その他(プログラミング・Web制作) Arduino UNO のC言語 2 2023/04/18 19:42
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# C言語初心者です、、、お助けください 2 2023/03/14 20:08
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
このQ&Aを見た人はこんなQ&Aも見ています
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
性格いい人が優勝
できるだけ性格いい人になって回答をお願いします。
-
はじめての旅行はどこに行きましたか?
記憶の中で1番昔の旅行先とエピソードを教えてください。
-
カラオケの鉄板ソング
歌えばその場が絶対盛り上がる「鉄板ソング」を教えてください!
-
unsigned long long 型のフォーマット指定子
C言語・C++・C#
-
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
CloseとDisposeの違い
Visual Basic(VBA)
-
-
4
C#において、同じインスタンスを何度もnewしてよいでしょうか。
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
VB.NET デリゲートへのコールバ...
-
【sendkeysメソッドが動かずに...
-
DataGridViewでセルクリックイ...
-
Excel VBA シェイプの原型のサ...
-
VBPをダブルクリックするとたま...
-
JSPで<SELECT>の中にDBから持っ...
-
FEM解析の読み方は?
-
ウィンドウを最前面にできません
-
C++/CLIにてForm1の要素に外部から
-
Application.Wait の参照設定
-
mainメソッドのthrows節で設定...
-
Java初心者です。どうか教えて...
-
ポストバック時のDatasourceバ...
-
Excel2010 VBA グラフのExport
-
実行時に確定するメソッドを呼...
-
javascriptからjavaを呼び出したい
-
JSPのメソッドサイズ制限について
-
コンストラクタからメソッドを...
-
コマンドプロンプト実行後に画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
DataGridViewでセルクリックイ...
-
ウィンドウを最前面にできません
-
コマンドプロンプト実行後に画...
-
VBPをダブルクリックするとたま...
-
【sendkeysメソッドが動かずに...
-
final修飾子を使っているのに、...
-
Application.Wait の参照設定
-
javascriptからjavaを呼び出したい
-
VBA コピーが出来ません…!
-
Excel VBA でExcelを終了したい...
-
エクセルVBAにおけるON TIMEメ...
-
JSPで<SELECT>の中にDBから持っ...
-
Labelコントロールに数字を代入...
-
boolean型のフィールドとゲッタ...
-
eclipse-Tomcatでのデバッグに...
-
C#.net Define文
-
[VBA]GetSaveAsFilenameメソッ...
-
CALLされていないメソッドを見...
-
エクセルのマクロでプリンタを...
おすすめ情報