1 名前:デフォルトの名無しさん [2019/10/07(月) 20:16:17.93 ID:9eyAES450.net] !extend:checked:vvvvv:1000:512 次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください >>980 を踏んだ人は新スレを建てて下さい。>>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part144 https://mevius.5ch.net/test/read.cgi/tech/1563258983/ ■関連スレ C#, C♯, C#相談室 Part95 https://mevius.5ch.net/test/read.cgi/tech/1508168482/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■情報源 https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index https://docs.microsoft.com/en-us/dotnet/standard/class-libraries referencesource.microsoft.com/ ・Insider.NET > .NET TIPS - @IT https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html ・DOBON.NET .NET Tips https://dobon.net/vb/dotnet/index.html VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
75 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 17:10:57.43 ID:Nij9ynML0.net] >>72 カンマ区切りの文字列にでもするとか
76 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 17:48:11.14 ID:6fhPxX7E0.net] json.netで文字列にして保存とか・・・そこまでやるならってのはナシで
77 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 17:58:14.17 ID:Y/pxrYXGM.net] >>71 バカの逆ギレかよ 念の為に言っておくけど元々>>47 程度の要件では派生クラスからCを呼ぶなんて必要ないってことな まあ君には一生理解できないかもしれないけどw
78 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 18:18:20.39 ID:8nYO+EkJd.net] 質問した人はもはや興味なくなってそう
79 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 19:16:25.09 ID:BNgoH63S0.net] >>75 レスサンクス カンマで区切って、文字列を数値にして 今それっぽい事をやってみたんですが、なにやら挙動があやしい >>76 れすさんくす やはり文字列になってしまうのでしょか、int[]あれば便利なのに
80 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 19:54:41.57 ID:V+fiNkQ50.net] splitで配列化出来るでしょ?
81 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 19:57:20.55 ID:Nij9ynML0.net] 挙動が怪しいって言われてもコメントしようがない
82 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 19:59:39.92 ID:NbTMQOfEr.net] カンマが全角半角交じりなのかもね
83 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 20:21:50.98 ID:BNgoH63S0.net] >>80 さんくす 数字カンマで区切ってsplitですか、簡単にできそうですね >>81 保存する種類をsystem.collections.specialized.stringcollectionとゆう文字列のコレクションを使って .addと.clearでいろいろやってるうちにwidthが0になったりと Properties.Settings.Default.cellwidth = new System.Collections.Specialized.StringCollection(); for (int i = 0; i < DataGridView1.ColumnCount; i++) { Properties.Settings.Default.cellwidth.Add(DataGridView1.Columns[i].Width.ToString()); } こんなんです、これは捨てます
84 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 20:36:41.64 ID:w9BsPIYw0.net] string.Join(",", array)で保存 array=text.Split(",").ToArray()で復元 スマホで書いたからミスってたらごめん
85 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 20:37:39.82 ID:NJkU4MQ7a.net] >>49 非光沢液晶のパソコンでプログラミングすることをすすめます。
86 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 20:48:12.25 ID:BNgoH63S0.net] >>84 さんくすです それは答えですね、やってみます
87 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 21:11:40.42 ID:LwZAFcHp0.net] これと違うの? dobon.net/vb/dotnet/programing/mysettings.html#section5
88 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 21:37:31.10 ID:LwZAFcHp0.net] >>47 本来クラスA2に置くべきメソッドB2を 循環参照になってしまうからという理由で別クラスに作るというアプローチに問題がある
89 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 21:55:04.78 ID:Obz6LqVu0.net] 不要な循環参照は避けるに越したことはないが 絶対に回避しないといけないものではないしな 設計的に妥当かどうか
90 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 22:06:26.29 ID:BNgoH63S0.net] >>87 さんくすです 型を増やすのは難しそうで、ちょっと敬遠してたのですが いちどやってみます
91 名前:36 mailto:sage [2019/10/11(金) 22:30:13.36 ID:SS1U2hzP0.net] 遅くなりましたがありがとうございました。とりあえずprivateでやってみようと思います。 しかし恥ずかしながらローカル関数って初めて知りました……こんなんあったのか
92 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 23:40:49.38 ID:AHeGNijQM.net] なんとローカルクラスもあったりするぞ
93 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 03:22:40.33 ID:wdaAvj3T0.net] ローカルクラスとか初めて聞いたんだが Javaか何かと間違えてないか?
94 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 03:39:46.40 ID:GmlLfjiE0.net] 内部クラスつまりクラス内クラスのことかもな ローカルクラスとは言わないけどな
95 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 08:19:37.23 ID:2OGp7+/U0.net] 匿名クラスのことだろ LinQの関数の戻りとかでたまに使う
96 名前: mailto:sage [2019/10/12(Sat) 08:24:48 ID:2OGp7+/U0.net] var hoge = new { Name = "Masashi", Hage = true }; こんな感じで宣言出來ると思う
97 名前: mailto:sage [2019/10/12(Sat) 11:24:29 ID:tnbTUN6u0.net] class hoge { class fuga {} class moge {} } こういうやつ 呼び方は知らん
98 名前: mailto:sage [2019/10/12(Sat) 11:25:43 ID:V3SUioeZ0.net] ローカルクラスwww
99 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 11:45:16.39 ID:vesGJIfT0.net] Java 用語だったのか。 < ローカルクラス クラス内だけじゃなくてメソッド内でも作れるみたいだけど。 匿名クラスは無名クラスだと思ってた自分。 この流れでしょうもないことを聞いてみる。 static なメンバ変数の修飾子というか、 static でないメンバ変数の this.[変数名] の this に当たるようなのってなにかないですか。 [クラス名].[変数名] で ok なのだけど、[クラス名] の部分を固定でやる方法ないかなと。
100 名前: mailto:sage [2019/10/12(Sat) 11:59:16 ID:XFT6PVwJ0.net] >>99 エイリアスとかこういう話? using ディレクティブ https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive
101 名前: mailto:sage [2019/10/12(Sat) 13:15:47 ID:4Z7PGm8S0.net] >>100 横からだけど初めて知った サンクス
102 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 08:38:04.22 ID:LP1yPe2h0.net] for(int i = 0; DataGridView1.Columns.Count > i; i++) { DataGridView1.Columns[i].MinimumWidth = 20; } これってもっと簡単に書けませんか?
103 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 08:43:29.30 ID:vtlUUDcx0.net] 重複するコードを削っていくのがコツ
104 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 08:45:05.27 ID:vtlUUDcx0.net] コード変えていいならLINQとかもあり
105 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 09:09:50.77 ID:d8Y4MxQw0.net] 全回しするときは基本的にforeachを使う ただlinqのforeachを使ってよいのかはよくわからん。パフォーマンス悪いと聞くし
106 名前: mailto:sage [2019/10/13(Sun) 09:18:59 ID:MGaULTRj0.net] LinqにForEachはない あれはリストのメソッドだよ
107 名前: mailto:sage [2019/10/13(Sun) 09:22:18 ID:LP1yPe2h0.net] >>103>>104 さんくすです、LINQってことはSelectをつかうんでしょうか >>105 さんくすです、パフォーマンスは落ちてもかまわないんで 最初foreachで書こうと思ったんですが、わからなく
108 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 09:33:52.48 ID:f3TGJJSYa.net] ん? for (var c in DataGridView1.Columns) { c.MinimumWidth=20; } よりも短く描きたいってこと?
109 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 09:47:34.60 ID:OAJhlsQO0.net] そんなんどうでもいいから動くモノ作れよ初心者
110 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 11:07:58.19 ID:LP1yPe2h0.net] >>108 さんくす、面白い書き方ですね、ただMimimumWidthが出てきませんでした 少し変えればよさそうだけど、どこをどうかえれば
111 名前: mailto:sage [2019/10/13(Sun) 11:40:17 ID:OktAHnGcM.net] >>108 foreach
112 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 11:45:00.17 ID:MGaULTRj0.net] >>110 var をDataGridColumn に変えれば出る
113 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 11:55:56.33 ID:f3TGJJSYa.net] えーそんなわけないでしょと思って確認したら ColumnsのDataGridViewColumnCollectionは非ジェネリクスのIListしか実装してないのか・・・ DataGridViewってVS2005以前の書き方で実装されてるのね となると、かっこ悪いけどキャストをかませて for (var c in DataGridView1.Columns) { (c as DataGridViewColumn).MinimumWidth=20; } と書くくらいしかないか、>>103 のとおりDataGridView.Columnsを変数にするくらいしかなさそう
114 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 11:57:39.01 ID:f3TGJJSYa.net] あ、forじゃなくてforeachか ちゃんとIDEなりVSCodeなり立ち上げて書かなきゃだめね、失礼
115 名前:デフォルトの名無しさん [2019/10/13(日) 12:28:10.86 ID:Fykc0AcJ0.net] 抽象クラスとインターフェースの使い分けのコツを具体例で教えて下さい!
116 名前: mailto:sage [2019/10/13(Sun) 12:37:21 ID:mgqzqij/M.net] 昔の人は言いました「習うより慣れろ」
117 名前: mailto:sage [2019/10/13(Sun) 12:37:30 ID:f2RSEbKl0.net] そんなんどうでもいいから動くモノ作れよ初心者
118 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 12:43:25.13 ID:2Iz5cpana.net] >>116 使い分ける必要はない 常にインターフェイスを使う、でいいよ 抽象クラスはインターフェイスを使った上で、どうしても実装の大部分が重複してしまうような場合に稀に使うことがある、という程度のもの 全く使わなくても問題はない
119 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 12:58:41.62 ID:BB7naElC0.net] >>100 所属クラスを示す汎用のエイリアスのようなものがないかなーと。 でも using static ディレクティブ自体を知らなかったので勉強になりました。これを定義すれば結果として同じ事出来るし。 ありがとう。
120 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 13:02:36.16 ID:mgqzqij/M.net] 昔の人は言いました「100人のプログラマーがいたら100通りのオブジェクト指向がある」
121 名前: mailto:sage [2019/10/13(Sun) 13:29:52 ID:LP1yPe2h0.net] >>112 さんくすです出ました foreach(DataGridViewColumn c in DataGridView1.Columns) { c.MinimumWidth = 20; } >>113 さんくすですキャストのほうでもいけました
122 名前: mailto:sage [2019/10/13(Sun) 14:00:31 ID:2cfG7zlA0.net] 8からデフォルト実装も入るからますます使いどころが
123 名前: mailto:sage [2019/10/13(Sun) 18:12:47 ID:0yCAsIX/0.net] WinFormsで、フォーカスが当たってない時でもキー入力を取る方法ってありますか?
124 名前: mailto:sage [2019/10/13(Sun) 18:19:19 ID:jypX7pQ50.net] >>123 https://qiita.com/sawasaka/items/b3d5285b4198c0e46628
125 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 07:52:01.52 ID:AMNrrJ6ya.net] >>123 key入力をグローバルHook
126 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 11:19:35.89 ID:m0jqn6iGp.net] アプリ自体にフォーカス当たって無くてもいいの?
127 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 11:24:15.06 ID:pr9WFxZa0.net] イインダヨ
128 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 11:28:33.47 ID:m0jqn6iGp.net] ああ、パスワードスキミングするならむしろそうじゃないと都合悪いかw
129 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 11:50:04.39 ID:+5Q+C2RJM.net] 必死でない頭絞って やっと浮かんだ用途がそれなのか? 残念な人だこと…
130 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 14:23:13.71 ID:fSd1Dwex0.net] この手の質問に対する定番の回答やぞ
131 名前: mailto:sage [2019/10/15(Tue) 20:41:28 ID:5pSAXFzm0.net] 1ヶ月位VBAを触って今日Visual Studio Express 2017をインストールしました せっかくならVBAの癖が着く前に…と思ったのですが、VBAで書いたプログラムに互換性は無いでしょうか?
132 名前:デフォルトの名無しさん [2019/10/15(火) 20:52:55.04 ID:Hz78fwHza.net] >>131 ここ、C#のスレだよw VBAは20年前に死亡宣告されたVB6の親戚。 今のVisual Studioに入ってるVisual Basicとは似てるけど別物。 もちろんC#とは似ても似つかない
133 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 20:54:38.84 ID:E2P2T6Cd0.net] >>131 VBAとC#/VB.NETは別物 あとなんでVS2017のExpressをインストールしたのさ わざわざ機能制限版のExpressを使うとかマゾプレイヤーかな?
134 名前: mailto:sage [2019/10/15(Tue) 21:03:51 ID:5pSAXFzm0.net] >>132 1から勉強しなおしになるでしょうか? Visual StudioでもC#を使えると思っていました >>133 社内のライセンスとセキュリティの関係でExpressしかダメと言われてしまいました
135 名前: mailto:sage [2019/10/15(Tue) 21:13:12 ID:E/67JFVJ0.net] SharpDevelop入れて、C#→vbかな
136 名前: mailto:sage [2019/10/15(Tue) 21:15:31 ID:n+UvEGVJ0.net] >>134 質問の内容が変わっているよね VBAで作ったものはVB.Netに手直し程度で動かせるようになるものができる場合もあるけどC#は書き方も完全に別物 ここで聞くより自分のPCで動かしてみたほうが早い
137 名前: mailto:sage [2019/10/15(Tue) 21:15:48 ID:h8W4Pu510.net] >>135 そこはVisual Studio Codeやろ…
138 名前:デフォルトの名無しさん (アウアウウー Sa5b-YqqQ) [2019/10/15(Tue) 21:16:06 ID:Hz78fwHza.net] >>134 C#を使えないなんて言ってないよw VBAとC#は完全に別の言語だと言ってるだけ VBAの知識はC#を覚える上でほとんど役に立たないよと
139 名前:デフォルトの名無しさん (ワッチョイ 972d-epSy) [2019/10/15(Tue) 21:20:18 ID:zMbku3w90.net] 用語と名付けルールについていくつか教えてください まず、class Asdf{}の入れた物(Asdf asdf; でいうasdf)は、何と呼べばいいんですか?変数でいいのでしょうか? また、Asdfの入ったものを自動プロパティで宣言したい場合、一文字めを大文字にすべきなのでしょうか? Asdf Asdf{get; set;}なのか、Asdf asdf{get; set;}なのかどちらが正しいのでしょうか
140 名前: mailto:sage [2019/10/15(Tue) 21:23:27 ID:NTOFWHv0a.net] >>139 Asdf asdf; のasdfは変数名でいい プロパティ名はCamelCase(先頭大文字)にするのが慣習、自動実装プロパティかどうかは無関係
141 名前: mailto:sage [2019/10/15(Tue) 21:25:58 ID:5pSAXFzm0.net] >>136 失礼しました まずは色々と触ってみます >>138 早とちりしてしまいました 基本から勉強してみます ありがとうございます
142 名前:デフォルトの名無しさん (ワッチョイ 972d-epSy) [2019/10/15(Tue) 22:44:41 ID:zMbku3w90.net] >>140 ありがとうございます 大文字かどうかは、クラス名とプロパティ名が一緒になってしまっていいのか結構疑問に思っていたのでスッキリしました
143 名前:デフォルトの名無しさん [2019/10/17(木) 01:03:06.25 ID:GTpPRCCe0.net] Pythonでは文字列をコマンドとして実行するのにevalとexecの2つあるみたいですが C#で文字列をコマンドとして実行するには、eval以外の関数はありますか?
144 名前: mailto:sage [2019/10/17(Thu) 01:25:51 ID:lbhPCdA40.net] あるよ
145 名前:デフォルトの名無しさん (ワイーワ2 FF6a-uHRg) [2019/10/17(Thu) 09:37:45 ID:ewN8FeZ7F.net] subprocess.popen subprocess.call subprocess.call_hogehoge もっとあるぞ
146 名前:デフォルトの名無しさん (ワッチョイ 5fda-+VEO) [2019/10/17(Thu) 11:49:09 ID:qkwcuRdz0.net] フォーム間でのデータの受け渡しを行うクールな方法を教えて下さい。 今は以下の2通りの方法ででやっています。 ?互いの公開プロパティ(public get / private set)を参照しあう。 (互いに相手フォームへの参照を通じて取得するので疎結合になり切れていない) ?データ保持用クラスを作って、そのインスタンスを参照する。 (データ保持用クラスが増えまくって、だんだん管理困難になりそう)
147 名前: mailto:sage [2019/10/17(Thu) 12:12:42 ID:lbhPCdA40.net] MQで結合
148 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 12:32:44.65 ID:tq7j3RVK0.net] MVCのM
149 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 12:38:06.93 ID:p0JdpBwB0.net] WpfやUWPなどではDIコンテナってものを使うのが流行りだが、WindowsFormsでも存在するそうだ こっちは使ったことがないからお薦めはわからんがググって探してみるといい まあクールってことならWindowsForms捨てるのも一つだね
150 名前: mailto:sage [2019/10/17(Thu) 13:00:04 ID:gr44XWYWM.net] >>146 DB
151 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 13:34:04.59 ID:gr44XWYWM.net] >>149 WPFやUWP自体がほぼ全くと言っていいほど使われていないのに流行りも何も DIコンテナは主にWebで利用されるもので、デスクトップアプリではあまり使われないよ アプリの起動を遅くする原因になりやすいし、エンドユーザーにバイナリを直接配布するタイプのアプリではそもそも実装を差し替えたいというニーズ自体が稀だからね
152 名前: mailto:sage [2019/10/17(Thu) 15:08:30 ID:LDYcAoDdM.net] DIコンテナはこの場合関係ないのでは? 結局素直に?でやるのがいいと思う
153 名前: mailto:sage [2019/10/17(Thu) 15:44:16 ID:U3fOiqzQ0.net] >>146 クールな方法というか堅実・定石な方法 フォーム間のデータのやり取りなら? 相手のフォームに依存するとテスト時や改修時に困るでしょ 原則として相手の画面やクラスの事は知らないに越したことは無い その設計でもデータ保持用クラスの管理が大変になることは無い 管理が大変になる場合は設計がおかしい 画面遷移の組合せ数分クラス作るとかアホなことすれば大変だろうけど
154 名前: mailto:sage [2019/10/17(Thu) 17:38:31 ID:xrf7PluH0.net] wpfのCheckBoxについてですが、Contentに文字を設定するとその文字の表示範囲もチェックオンオフの感知範囲になってしまいます これを無効にして純粋にチェックボックスの□のみをクリック範囲にすることはできないのでしょうか? CheckBoxのContentに文字を設定するのではなく、横にTextBlockを置くなどしないと無理でしょうか?
155 名前: mailto:sage [2019/10/17(Thu) 17:46:05 ID:Cw+SiV+E0.net] うん
156 名前: mailto:sage [2019/10/17(Thu) 17:47:00 ID:LBezDrpM0.net] >>154 手段としてはその通りだと思う。 しかし、あのちっさいチェックボックスに正確にマウスを当てないと反応しないってのは、 使い勝手からするとどうかと思う。誤クリックが多いというなら、そもそもの配置場所が悪い
157 名前: mailto:sage [2019/10/17(Thu) 17:49:21 ID:f5CxH478a.net] >>154 PreviewMouseDownイベントを追加して e.OriginalSourceからVisualTreeHelper.GetParent()でVisualTreeを親方向にたどっていき 途中に"checkBoxBorder"というNameのBorderがあればe.Handled=true;で無効化出来るかもしれない 出来るかもしれないが一般的にCheckBoxはテキスト部分をクリックしてもオンオフ出来るものだから その一般的な挙動を逸脱するよっぽどの理由がなければ止めておいたほうがいい
158 名前: mailto:sage [2019/10/17(Thu) 18:14:20 ID:xrf7PluH0.net] >>156>157 ありがとうございます 具体的にはListBox内にCheckBoxを配置しており、チェックとは別にListBoxから選択時に多少のインフォメーションを表示するといった形にしたいためContentも含めると誤クリックが発生してしまいます とりあえずは文字とCheckBoxは分離する方向でやってみたいと思います
159 名前: mailto:sage [2019/10/17(Thu) 19:36:38 ID:ukHDmGyB0.net] 先日C#を始めたものです Hello Worldを記述出来ました エクセル等のオフィスソフトに対応している初心者向けのサイトは無いでしょうか? よろしくお願いします
160 名前: mailto:sage [2019/10/17(Thu) 19:50:38 ID:fD4z5OoEd.net] C#てオフィスを使って処理したいってこと?
161 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 20:50:59.23 ID:ukHDmGyB0.net] C#を使ってエクセル等を操作したいと思っています
162 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 20:53:46.00 ID:35zh2Zdy0.net] >>161 Microsoft Visual C# .NET から Microsoft Excel を自動化する方法 https://docs.microsoft.com/ja-jp/office/troubleshoot/office-developer/automate-excel-from-visual-c こういう意図でC#を使う人は少ないと思うからそういうサイトもあまりないのでは
163 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 20:54:08.32 ID:U+7e/yzz0.net] >>161 epplusが手軽だと個人的には思う サイトはいくつかあるからググって
164 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 21:33:04.59 ID:tq7j3RVK0.net] VSTO https://docs.microsoft.com/ja-jp/visualstudio/vsto/create-vsto-add-ins-for-office-by-using-visual-studio https://docs.microsoft.com/ja-jp/visualstudio/vsto/walkthroughs-using-excel https://blogs.msdn.microsoft.com/office_client_development_support_blog/tag/vsto/ COMとVSTOの違いはググって
165 名前:デフォルトの名無しさん [2019/10/17(木) 22:09:06.50 ID:o4qw9kXC0.net] ClosedXML https://www.atmarkit.co.jp/ait/articles/1810/24/news016.html
166 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 23:15:21.70 ID:U3fOiqzQ0.net] Closed便利よね バグ踏んだら面倒だけど
167 名前:デフォルトの名無しさん [2019/10/17(木) 23:18:37.31 ID:fKr8aC1m0.net] プロパティで、StringをDateTimeのようにnull許容できるようにしたいのですが、可能でしょうか? public DateTime? test1 { get; set; } ← 可 public String? test2 { get; set; } ← 不可 DapperでDB操作してるのですが、DBゆえにnullがあるのでどうしたものかと
168 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 23:30:47.28 ID:+xa644SFa.net] C#8.0の新しい文法を使う意図だったら「#nullable enable」のディレクティブをつけないとnull許容参照型にならないよ そうでなければ、stringは参照型だから?をつけずとも普通にnull許容
169 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 00:25:33.50 ID:C4vTbpVj0.net] >>162 >>163 ありがとうございます
170 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 00:26:47.30 ID:C4vTbpVj0.net] >>164 >>165 ありがとうございます
171 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 04:48:07.86 ID:7fyCEFV70.net] >>162 帳票作成でC#使うなんてよくある話だろ
172 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 17:37:44.07 ID:P+E8yzNh0.net] >>168 Stringはそもそもnull許容なのですね Dapperでデータ取れないのは別の事情がありそうなので調査してみます ありがとうございます
173 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 20:34:45.07 ID:L2N4rS5+M.net] >>171 帳票作成でC#を使うこととC#でExcelを操作することはかなり違うけどな
174 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 20:43:02.28 ID:7fyCEFV70.net] >>173 >>162 が正にそれだろ
175 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 21:35:27.82 ID:1VxWd/yq0.net] >>174 日本語が理解できないのか? > こういう意図でC#を使う人は少ないと思うからそういうサイトもあまりないのでは >>162 はその少ないサイトって話だろ…