前提・実現したいこと
C++をしばらくやって、C#についてはまだ数日しかやってない初心者です。現在、C#へ、C++で書いたライブラリの移行をしています。
C#にて、次のコードのようなことがしたいのですが、さっぱりわかりません。C/C++でいうところのポインタのようなことがしたいです。
C#
1class hoge{ 2 int n; 3 public hoge(int N){ 4 n=N; 5 } 6 7 public void draw(){ 8 Console.WriteLine("{0}", n); 9 } 10} 11 12public class Hello{ 13 14 public static void Main(){ 15 int x = 0; 16 hoge Hoge = new hoge(x); 17 for(int i=0;i<10;i++){ 18 Hoge.draw(); //0,1,2,3,...と表示されてほしい 19 x++; 20 } 21 } 22}
C++でいうと
C++
1#include <iostream> 2using namespace std; 3class hoge{ 4 int *n; 5public: 6 hoge(int *N){ 7 n = N; 8 } 9 10 void draw(){ 11 cout<<*n<<endl; 12 } 13}; 14 15int main(void){ 16 int x=0; 17 hoge Hoge(&x); 18 for(int i=0;i<10;i++){ 19 Hoge.draw();//1,2,3,... 20 x++; 21 } 22}
がしたいです。
試したこと
hogeの中をunsafeでくくってポインタを使ってみたり、out,refとかもやってみましたが期待通りじゃなかったです。
補足情報(FW/ツールのバージョンなど)
VisualStudio 2019 Community 最新バージョン
.NET Framework 4.7.2
C# 8.0
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/19 04:41