
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も見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
VBAマクロについて教えてく...
-
クリックさせる
-
0歳児の指しゃぶりに関して
-
C#のスタートアップオブジェク...
-
JVM(Java仮想マシン)の動作原理...
-
描画した線や画像などを消す方法。
-
localhostで.htmlを表示したい
-
ファイルの解放
-
ウィンドウを最前面にできません
-
入出力について
-
Firewall-1におけるHTTP通信に...
-
onUnload時にジャンプ先のURLを...
-
JAVA 入力チェックについて。
-
小文字を大文字に変換する方法...
-
Labelコントロールに数字を代入...
-
C# 匿名メソッドについて
-
ByteArrayInputStreamを配列に
-
javascriptからjavaを呼び出したい
-
drawStringで文字間隔の調整
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
【sendkeysメソッドが動かずに...
-
mainメソッドのthrows節で設定...
-
VBA コピーが出来ません…!
-
DataGridViewでセルクリックイ...
-
コマンドプロンプト実行後に画...
-
0歳児の指しゃぶりに関して
-
エクセルVBAにおけるON TIMEメ...
-
javascriptからjavaを呼び出したい
-
配列のメソッド
-
CALLされていないメソッドを見...
-
final修飾子を使っているのに、...
-
Labelコントロールに数字を代入...
-
VBPをダブルクリックするとたま...
-
ウィンドウを最前面にできません
-
処理内容がほぼ同じメソッドの...
-
Application.Wait の参照設定
-
C#.net Define文
-
C# 演算 最大値 最小値 表現の仕方
-
Excel VBA でExcelを終了したい...
おすすめ情報