X



0からの、超初心者C#相談室
0002デフォルトの名無しさん垢版2020/09/29(火) 08:15:35.07ID:H0O0pc1n
コンソールアプリから初めて、
コマンドラインのよる処理分岐
リダイレクトとかからかなぁ
0004デフォルトの名無しさん垢版2020/09/29(火) 12:08:34.18ID:xDA//a+Z
ふらっとがあるし、参考になるようなテンプレも無いクソスレ立てて何がしたいの?
Visual Studioインストールするだけで不要だよこのスレ
0005デフォルトの名無しさん垢版2020/09/29(火) 16:35:30.94ID:/zTBPqgn
C#で何つくるの?
目的がないと覚える気力がでない。
0007デフォルトの名無しさん垢版2020/10/02(金) 00:55:14.93ID:5fPg27UF
つい先月にunityではじめてC#スクリプトに触れた初心者なんですが

Unityのアセットがよくわかってなくて、
とっかかりすらわからないので
C#でのデータベース利用(XAMPPのMySQL等)と
Unityゲーム内のカメラ画像を取り込むような
C#での機械学習(APIかライブラリ)を利用する為のご指南下さい。
VRオープンワールド内でのモンスターAIの作り方みたいなものの説明サイト等あればよろしくお願いします。
0008デフォルトの名無しさん垢版2020/10/08(木) 23:06:17.27ID:g52ct4Ux
Application.Run(new Form2())
これはオブジェクトをApplicationクラスに渡してるのでしょうか?
Form f=new Form();
Application.Run(f)と同じなのでしょうか
0009デフォルトの名無しさん垢版2020/10/09(金) 01:00:08.14ID:760t1BpC
Ruby では、オブジェクトを一旦、変数に代入してから関数に渡しても、
直接渡しても同じ

def f( str )
puts str
end

text = "a"
f( text ) #=> a

f( "a" ) #=> a
0010デフォルトの名無しさん垢版2020/10/09(金) 06:51:34.69ID:QH6LUMT4
>>9
すいませんRuby読めないです
Application.Run(new Form())は変数が無いですが何を渡してるのでしょうか
入門書にも書いてないので困ってます
00129垢版2020/10/09(金) 08:07:30.79ID:760t1BpC
Ruby は可読性が高いから、誰でも読める。
def で、f という関数の内容を定義してるだけ

def f( str )
関数の処理
end

その下で、f を呼び出すときに、引数に直接、"a" を渡すか、

text = "a"
と一旦、text という変数に代入してから、引数に渡すかだけの違いだけでしょ?

どちらも同じ

これは、"a" という文字列リテラルだけど、オブジェクトでも同じ。

引数に直接、new A( ) とオブジェクト(インスタンス)を作って渡すか、

text = new A( )
と一旦、text という変数に代入してから、引数に渡すのも同じ
0013デフォルトの名無しさん垢版2020/10/09(金) 09:45:36.34ID:vl+UDRkB
>>8
同じだけど
オブジェクトの寿命が違うんじゃないかな
f に代入した方が長生きすると思う
0015デフォルトの名無しさん垢版2020/11/04(水) 00:43:08.00ID:RMWJbBaw
unity始めてたどりつきました。DateTimeだけじゃ無いんですが、parseとかで例外が出るじゃ無いですか?あらゆる例外に対処して、とりあえず例外でプロセスが落ちることを無くしたいのですが、どう言う定石で詰めていくんですか?
0016デフォルトの名無しさん垢版2020/11/04(水) 10:13:11.49ID:wF8lqQTT
catchして握りつぶせば落ちなくなるが
代わりに暴走するリスクがある
0017デフォルトの名無しさん垢版2020/11/04(水) 12:27:37.89ID:c0Ghl4uK
>>15
ドキュメントを読んで各メソッドが何の例外を投げうるかを確認して、適宜必要な箇所にcatchを書いていく
0018デフォルトの名無しさん垢版2020/11/05(木) 22:11:49.92ID:i2AoRiKt
D = function(n) {
a = n
while (n > 1) {
n = ifelse(n %% 2 == 0, n / 2, 3 * n + 1)
a = c(a, n)
}
a&plot(D(n),type="l")
&function(n)length(D(n))
Rです、コラつ問題で任意の数値を代入すると1までの計算結果、そのグラフとグラフ内の最大値にマーク、計算回数を返すプログラムを作りたいのですがうまく繋げられません。最大値にマークもできません。
0019デフォルトの名無しさん垢版2020/11/06(金) 11:07:20.98ID:LTqO0fOq
スレチ
0020デフォルトの名無しさん垢版2020/11/06(金) 11:37:42.76ID:XQh1l7g1
>>16 >>17
ありがとうございました。基本に忠実にと言うことですね。Javaのように catch(Exception) とか throws Exception のような凶悪なものが無くホッとしていると言うか、ちょっとだけ残念な気もしてます。重ね重ねありがとうございました。
0021デフォルトの名無しさん垢版2020/11/08(日) 15:59:08.44ID:pu6+inAk
すみません
C# でUSBの抜き差し及び、デバイスリストを得るサンプルありますか?
(関数だけでもOKです)

環境は VS2019 Win10(2004)
WPF で使っています。  
0022デフォルトの名無しさん垢版2020/11/08(日) 16:01:14.56ID:M0llHupc
URL忘れたけど見覚えはあるよ
0023デフォルトの名無しさん垢版2020/11/08(日) 19:13:33.61ID:pu6+inAk
>>22
情報ありがとうございます
あるんですね
いくつか見つけたのですが win32?かなにかを使うらしく 僕の環境では動かなかったので
なにかわかったら教えてください
0024デフォルトの名無しさん垢版2020/11/10(火) 18:44:12.02ID:BdpldDoX
>>23
WM_DEVICECHANGE に反応してチェックするようにしてみたけど、
イマイチ思ったようにメッセージが来なかったんで、結局ポーリングしてた。
今でも基本はポーリングしてる。
0025デフォルトの名無しさん垢版2020/11/12(木) 12:04:46.65ID:UmnbX+Qi
C#ってCと同じ構文なの?
0026デフォルトの名無しさん垢版2020/11/12(木) 12:18:29.10ID:f5BAQJxF
何で同じだと思ったの
0031デフォルトの名無しさん垢版2020/12/12(土) 12:33:53.90ID:e9onnhEA
インターネットが始まった当初なら
グローバル化とか情報共有とか甘い言葉が通用したけど
今時、情報は金だからな
「何も分からないからタダで教えて!」って口開けてるだけじゃ
虫が良すぎだよな
0033デフォルトの名無しさん垢版2020/12/16(水) 09:07:29.24ID:VvO9Nm1h
違うな
情報の内容に応じるんじゃなくて
情報欲しがってる奴が「どれくらい欲しいか?」に応じてるんだよ
株や為替や骨董品と同じ
自分で調べるのが面倒で金払ってでもまとめた情報欲しがる奴がいれば
Hello!でも金になる
0034デフォルトの名無しさん垢版2020/12/27(日) 16:12:22.54ID:qyV7jdQO
for (; ; ) {
var str = "Hello, world! ";
Console.Write(str);
}

string str;
for (; ; ) {
str = "Hello, world! ";
Console.Write(str);
}

私は下のほうが良いと思うんですが
入門書などみると上のように書いてあります、どっちが良いんでしょうか?
中間言語はどちらも全く同じみたいなんですが
0035デフォルトの名無しさん垢版2020/12/27(日) 16:50:17.21ID:VS6+Jx70
>>34
変数のスコープが違う

コンパイラの最適化でILは同じになるかもしれないけど
ループの中でしか必要ないならそのケースは前者のほうがいい
0036デフォルトの名無しさん垢版2020/12/27(日) 17:13:23.12ID:qyV7jdQO
ありがとうございます
変数のスコープのことまでは思い至りませんでした
上側は変数を繰り返し宣言してるようで嫌だったんですが
0040デフォルトの名無しさん垢版2021/06/01(火) 00:43:36.34ID:jX3vW8oh
jsonの逆シリアル化について教えてください
以下のコードでローカルのjsonファイルを読み込み、逆シリアル化をしてオブジェクトを得たいと考えています

@var readJsonFile = File.ReadAllText(filePath);

Avar jsonDeserialize =JsonSerializer.Deserialize<List<Food>>(readJsonFile);

public class Food{
public string Name{get;set;}
public int Price{get;set;}
}

しかしAの部分が上手く行きません。
変数readJsonFileには所定のjsonファイルの内容を取得出来ているのですが、jsonDeserializeには値が入ってきません。
具体的にはデバッグで変数の中身を確認すると、jsonファイルに記述している項目数だけ要素は取得していますが、Name:null、Price:0の様にファイルに記載しているName等のデータがありません。
エラーなどもなく、何が原因なのか突き止めることが出来ません…。
初歩的な質問で申し訳ありませんがアドバイス頂きたいです。

長文失礼しました。
0043デフォルトの名無しさん垢版2021/09/16(木) 09:29:30.13ID:I3VTO38j
まるちんこ
0044デフォルトの名無しさん垢版2021/10/19(火) 08:49:14.04ID:7/3R28mC
C#でもWIN32APIが使えるみたいなのですが(関数名が若干変わってる?)
そういうのって何処で調べられますか?

WriteProcessMemory→WriteMemory とか関数名が若干変わってるみたいですが
0046デフォルトの名無しさん垢版2021/10/23(土) 18:39:56.63ID:niq2B5br
>>44
自分でラッパー作る場合にはdllimportして直接win32apiたたくのでメソッド名が
変わることはないよ
win32apiのラッパーライブラリとかだと名前変えていることもあるかもしれないけど、
そういう場合にはライブラリのリファレンスを見るしかないよ
0047デフォルトの名無しさん垢版2021/10/30(土) 19:57:08.78ID:9PrQRZ5E
別のスレでお前がやろうとしてることは古い
WinFormsやれって言われたのでそれをやりたいと思ってるのですが
WPFとかASP.NETとか色々あってWinFormsって具体的に何か分からなくて困ってます
これだよって本があれば教えていただけると助かります

やさしいC#に載ってる↓みたいなコードはWinFormsとは別なんでしょうか
public void Main(){ Application.Run(new Sample());

public Sample(){...............}
004847垢版2021/10/31(日) 01:11:25.26ID:WxgBEHjK
https://ideone.com/eUwGbP

こういうのをやるのはもう古いのでしょうか?
右も左も分からないからよく分からんです…
0049デフォルトの名無しさん垢版2021/10/31(日) 01:30:10.51ID:hGI7wBpw
「winforms」「winforms wpf 違い」などで検索!

知らない単語は、何でも検索すれば良い
0051デフォルトの名無しさん垢版2021/10/31(日) 13:13:01.98ID:dE1SXutD
>>50
どの動画?
変数名speedって書いてあるけど色を変えるためにいじるの本当にそこで合ってるか?
0053デフォルトの名無しさん垢版2021/10/31(日) 18:18:13.12ID:4KbMhR6u
馬鹿には無理
0054デフォルトの名無しさん垢版2021/11/01(月) 08:17:47.62ID:tTytsz1y
ニコニコ動画の弾幕ツールを作りたいのですが何か参考になる動画や資料等ないでしょうか?
別のスレで聞いたら使えそうなクラスとか駆使して作れば良いって言われたけどプログラミング自体入門者なんで検討も付かないです
外人のC#動画漁ってますが中々目的のものが見つからないです
スクリプト言語とかも学ばないと出来んのでしょうか?

https://sites.google.com/site/arktoybox/app
https://sites.google.com/site/nantonaku999/home/fairu-cang-ku2/fairu-cang-ku-2
0055デフォルトの名無しさん垢版2021/11/02(火) 09:46:31.38ID:px0qcy1y
検討→見当
健闘を祈る
0056デフォルトの名無しさん垢版2021/11/02(火) 21:48:24.93ID:4DiwsCtO
>>55
弾幕ツール ソースで検索しても出ないので教えてほしいです
海外とかこういう似たようなツールたくさんありそうですが
なんて検索すれば出てくるか分かりません
0057デフォルトの名無しさん垢版2021/11/03(水) 00:34:27.36ID:DWWBNGex
弾幕 ソース c#

ぐらいのキーワードで出てくるけど

C#とDXライブラリで弾幕STGを作ってみよう! Part1 準備編+C言語の復習編

とか。中身を見ていないけど
0058デフォルトの名無しさん垢版2021/11/05(金) 22:52:20.57ID:0A2FTKj+
上と下の書き方って意味同じなんでしょうか?
読んでる参考書は下の書き方なんですが古い?

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
///////////////////////////////////////////.......


class Sample : Form
{
public static void Main()
{
Application.Run(new Sample());
}

public Sample()
{
this.Click+=...
}

}
0059デフォルトの名無しさん垢版2021/11/06(土) 01:28:24.72ID:Ne1xmpvJ
答えるの面倒なので放置で
0063デフォルトの名無しさん垢版2021/11/18(木) 22:26:56.15ID:Pskhps09
マウスをクリックしたところから離したところまで円を描くだけのプログラムなんですが
endposからstartposを引くとなぜ幅になるのか分からないので教えてほしいです

https://ideone.com/3a6auq
0065デフォルトの名無しさん垢版2021/11/19(金) 17:46:14.32ID:Ju797t+1
>>64
レスありがとうございます
マウスの移動した距離から開始地点を引くと何故図形の高さと幅になるのかイメージ付かないです
0066デフォルトの名無しさん垢版2021/11/19(金) 17:52:43.77ID:2fcx9B6r
開始点と終了点の距離はどうやったら求まる?
更に都市距離だとどうなるか?って話
0068デフォルトの名無しさん垢版2021/11/25(木) 18:18:45.42ID:Q9Acoyci
画面(の一部)を繰り返し描き換えるときに
Graphicsを何度も再取得、破棄するのは非効率なので
フィールド変数に保存しておいて再利用するようにしていますが
本来はどのように処理するのが正しいでしょうか?
0070デフォルトの名無しさん垢版2021/11/26(金) 18:27:53.24ID:0HqO8vCK
>>68
実際にコード示して説明してもらわないと「非効率」がどういうことなのか「本来」がどんな条件のことなのかわからない。
とりあえず頻繁に設定を変えるものをフィールド変数にして使いまわすのは不具合の原因になりやすい
>>69
おまえは何を言っているんだ
0072デフォルトの名無しさん垢版2021/11/27(土) 16:00:51.33ID:DqeMAIdN
Graphics g;

void begin(){
g = Graphics.FromImage(this.picturebox1.Image);
}

void hoge(){
g.drawline(...)
}

void piyo(){
g.rectangle(...)
}
......
0073デフォルトの名無しさん垢版2021/12/30(木) 11:25:24.15ID:5euK00/Y
・ディスプレイは他のアプリで共有され使用される。
・グラフィックオブジェクトは有限。

よって描画したらすぐ開放が基本動作。
0074デフォルトの名無しさん垢版2021/12/30(木) 16:22:18.94ID:JgkxYzDs
bitmapからもGraphicsは作れるので
描画用のPictureと同じサイズの
bitmap作って書きためておくのは定石
0075デフォルトの名無しさん垢版2022/01/26(水) 18:26:13.79ID:n+JVrXXV
c#プログラマはコンピュータオタクの陰キャ世間の評価。
これ事実だけど。

金髪、イレズミ、冬でも半袖、電車では必ず優先席にすわり、タバコを吸う。

これぐらいの服装規定等を設けて、c#プログラマのイメージアップをはかるべき。
0077デフォルトの名無しさん垢版2022/01/31(月) 18:31:36.09ID:L4QfbPEO
Visual Studio Community 2022 WinForms .NET6で
カスタムコントロールを追加して[デザイン]画面を開くと
Object reference not set to an instance of an object. エラーが出るのですが
.NET6はカスタムコントロールを未サポートということなのか何なのか少し困っています
0078デフォルトの名無しさん垢版2022/02/24(木) 22:02:04.16ID:5ECWerJC
小数点以下の桁数を取得したい
整数になるまで繰返し10を掛けていく方法を考えたけど、丸め誤差が出て上手くいかない
文字列へ変換して文字数を数える方法だと、なにか負けた気がするし、指数表示のときに正常に動作しない
0080デフォルトの名無しさん垢版2022/08/02(火) 09:32:25.15ID:nOC+dQpO
public void doXXX<T> (T t)
where T : Control, ISomeInterface
{
 //なんか、やる

 foreach(var c in t.Controls)
 {
  if(c is ISomeInterface c2)
  {
   doXXX(c2);//ここでコンパイルエラー
  }
 }
}

みたいな感じのメソッド作りたいんですけど、どうすればこのwhere制約突破できますか?
dynamicにキャストすれば出来ますが、もっとスマートな方法ないですか?
0081デフォルトの名無しさん垢版2023/05/01(月) 21:48:53.21ID:ZstMad9R
ぼんやりとした質問ですが、

Form1にWebView2が合ったとして、Form2でお気に入りを作って、Form2からForm1の
WebView2にナビゲートしたいんです。

やってみたんですが、Form1にあるはずのWebViewがForm2から出てこないんです。

調べてみたらキャスト?とかいうのが必要らしくて、キャストはちんぷんかんぷんです。

コード書いておくので誰かお助けを~

後Form1のWebview2にアクセスしようとしたら保護がかかってしまいました。
ランタイムを噛ませたりとかよく分かりません。

こんな超初心者の俺ですが、助けてください。

private async Task InitializeAsync()
{
await webView21.EnsureCoreWebView2Async(null);
}
private async void Form1_Load(object sender, EventArgs e)
{
await InitializeAsync();

webView21.CoreWebView2.Navigate("https://web.biz-prog.net/";);
}
0082デフォルトの名無しさん垢版2023/05/01(月) 21:50:30.34ID:ZstMad9R
private void button1_Click_1(object sender, EventArgs e)
{
Form2 f2 = new Form2(this); // 自フォームへの参照を渡す
f2.Show(); // サブ・フォームを表示
}

ここからForm2

public partial class Form2 : Form
{
Form1 f1;
private object webView21;

public Form2(Form1 f)
{
f1 = f;
InitializeComponent();


試して見たんですが、オートコンプリートに((Form1)).webview2が出てきません
0083デフォルトの名無しさん垢版2023/05/02(火) 07:06:52.68ID:874Z+yWP
age
0089デフォルトの名無しさん垢版2023/09/26(火) 22:11:49.80ID:SH7A7IU6
>>46 ラッパ作るときは ドゥルルンポートせず、静的に作るだろ。C#でンポートするのをラッパとはいわん。
0090デフォルトの名無しさん垢版2023/09/26(火) 22:49:58.88ID:SH7A7IU6
>>79 log だけ知ってても仕方ないぞ。

公式は 10進桁数 D= B(2進桁数) log102 の繰り上げ整数値 だが、log102 は浮動小数では完全表現できないので、
その時点で誤差を含んでるといえるが、ただし、公式は「繰り上げ整数値」だ。

つまり、結果が 999999999... 10000000....1 のような値にならない限りは、実用上問題なく、
log102 をかけて、偶然、9999999.... 10000....1 のような結果になることもまずないであろうから、誤差があっても問題がないということだ。

本題の 小数桁取得であるが、色々あるんだろうが、 IEE765 の浮動小数アルゴリズムの、逆をたどって、それを参考にすればよいではないか。
0091デフォルトの名無しさん垢版2023/09/26(火) 22:52:16.32ID:SH7A7IU6
頭の体操になるな。頭の弱い漏れは少し時間かかるな。というかこんなもの作らなくても、数学演算系の関数は、
だいたいこういうのを加味した処理だろうけど。
0092デフォルトの名無しさん垢版2023/09/27(水) 01:23:54.54ID:5mHdvsC4
>>78 やっぱり処理系によっては不可能だな。「〇桁までの入力」という仕様制限をかければ可能だが。

それよりも、C# には Decimal 型ってあるみたい。知らんかった。これは便利だな。構造体らしい。
仮数部が 12バイトらしい。
0093デフォルトの名無しさん垢版2024/01/06(土) 14:29:48.20ID:AYkaYTA3
再利用age
レスを投稿する


ニューススポーツなんでも実況