ふらっと C#,C♯,C#(初心者用) Part136

■ このスレッドは過去ログ倉庫に格納されています
2018/03/03(土) 15:09:05.75ID:SBEkwl3H
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part135
http://mevius.5ch.net/test/read.cgi/tech/1517749348/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2018/03/08(木) 13:16:29.76ID:wkuTrnYs
int, longならlongだけ用意しとけばいいだろ
ジェネリックにしたくなる気持ちはわかるけど実際ほとんどの場合は結局一つしか使わないよ
YAGNI
2018/03/08(木) 13:25:00.67ID:m1DjBHcg
>>95
将来的にdecimalとかでも使うかもしれないから最初からTで作っときたかった
2018/03/08(木) 13:35:16.73ID:KNsyBCN9
いつのまにかwhereにintやlongやdecimalが指定できるようになったのか?
違うだろ?
2018/03/08(木) 13:38:21.60ID:7fgp1oNf
くだらないいちゃもんつける馬鹿多すぎだなこのスレ
いちいちいちゃもんつけないと死ぬのかねw
2018/03/08(木) 13:46:19.13ID:KNsyBCN9
int,longだとintかつlongだからそんなもの存在しない
2018/03/08(木) 13:54:06.36ID:m1DjBHcg
>>99
確かにそうだ
ビルドするまでエラーがでなかったから気づかなかったよ
2018/03/08(木) 14:17:45.68ID:NNizdivM
>>94
http://ufcpp.net/study/csharp/sp2_generics.html?p=3#pseudo-static
2018/03/08(木) 14:44:07.16ID:m1DjBHcg
>>101
演算用の構造体を作る方法もあるのか
結局型ごとに構造体を作らなきゃいけないなら型ごとにメソッドを作る方がいいかな
考え方は面白いんだけど書いてあるとおりちょっと強引な感じがするし構造体の使い方もちょっと気になる
2018/03/08(木) 16:13:44.03ID:q48xQYEj
>>102
まあそうだよね…
どうしてもメソッドを共通化したいときにこれをやるとしても、普通のオーバーロードでラップする感じになると思う
2018/03/08(木) 19:01:36.93ID:8WwTysgF
1週間で身に付くC#言語のページが見られなくなっちゃった
2018/03/08(木) 20:05:36.32ID:uN05qvV/
ドメインが無くなったか。祟りやね
2018/03/08(木) 20:08:59.95ID:4PZLazli
atmarkitとdobonだけでいいよ
ググるとだいたいこの2つがヒットする
2018/03/08(木) 20:25:17.73ID:SCks1g98
WinFormのプログラムで85k超データなんて作ってないのにLargeObjectHeapが増えていくのはなんでなの・・・
2018/03/08(木) 20:34:08.32ID:QLJ7X/Ow
蓮メモリにならないように大きい単位で取るんじゃないだろか?
と尻もしないのにレスしてみる
2018/03/09(金) 00:41:31.37ID:ZGeJbhBv
public static extern bool GetDiskFreeSpace(
string lpRootPathName,
out ulong lpSectorsPerCluster,
out ulong lpBytesPerSector,
out ulong lpNumberOfFreeClusters,
out ulong lpTotalNumberOfClusters);
上記だとビルドが通らない。
これのようなクラスタあたりのセクタ数、及び、セクタあたりのバイト数を取得する方法ってありますか?
2018/03/09(金) 01:15:48.36ID:Ohyjj+7n
>>109
ビルド自体は通りそうだが…P/InvokeしたいならDllImportを付けないと
DWORDは32bitでulongは64bitなのは承知の上?ポインタ渡しであまり関係ないけど

[DllImport("kernel32", SetLastError = true, CharSet = CharSet.Unicode)]
static extern bool GetDiskFreeSpace(
string lpRootPathName,
out uint lpSectorsPerCluster,
out uint lpBytesPerSector,
out uint lpNumberOfFreeClusters,
out uint lpTotalNumberOfClusters
);
2018/03/09(金) 01:50:16.56ID:kxCLXgK0
WINAPI型(__stdcall)じゃないC++の関数を呼ぶ時は
DllImportに CallingConvention = CallingConvention.Cdecl 入れないとメモリ破壊する
2018/03/09(金) 02:03:07.70ID:cJvHUA86
パスカル呼び出し〜♪
2018/03/09(金) 02:37:19.22ID:RRa2zRYk
TextBoxにフォームロードの中で文字列を設定しています。
ウィンドウが表示された時にそのテキストボックスの中の文字列が
全て選択された状態で表示されてしまいます。

どうすれば文字を設定しても選択された状態にならないでしょうか?
2018/03/09(金) 03:49:26.97ID:5QpWky7V
>>113
https://stackoverflow.com/questions/3421453/
115デフォルトの名無しさん
垢版 |
2018/03/09(金) 07:23:53.63ID:jWrPs27H
アクティブコントロールを他にあてれば済む話じゃ?
2018/03/09(金) 07:30:10.43ID:LQK/KvB6
教育系の研究データをとるためのアプリをwindowsベースで開発したくて

「確かな力が身につくC#入門」

を勉強終えた。
次のステップとして

「独習C#」

を終えるべきか、もう自分で調べながらプログラムを書き始めるべきかどっちがいいだろう?
2018/03/09(金) 07:35:01.67ID:LQK/KvB6
教育心理系で

1. タッチパネル上に×を表示させて学習者に触らせる
2. ×とタッチの座標を記録して、二つの距離を計算

1,2を数十回実施して結果のデータをテキストで吐き出す。
が実走したい最低限の仕様。
可能であればネット経由で結果のテキストデータをサーバーに送信したい。
です。
「独習c#」
ぐらいは終えてからの方が、急がば回れで効率いいのかな?

ちなみにプログラム経験は20年前にCで人工知能の研究してたぐらいでほぼど素人。
2018/03/09(金) 07:40:46.98ID:Bccqo4ev
ランサーズとかのクラウドソーシングで募集したら?
一万も出せば一瞬でできるでしょ
2018/03/09(金) 07:54:26.29ID:S6tyjFC3
>>117
もうさっさと作ったらいいと思う
2018/03/09(金) 08:04:10.76ID:LQK/KvB6
>>119
実際に組み始めて分からないことは調べる方式のほうが習得早いのかな。
あまりに恥ずかしいコードにならないように、基本は身に着けたいと思ったんだけど
「独習C#」
のページ数にひるんで、これは辞書的に使う本なのかと・・・。
2018/03/09(金) 08:05:34.00ID:LQK/KvB6
>>118
そういう手もあるのか・・・。
いやでも、実験しながら仕様は変えてくだろうから、やはりプログラミングの技術ももっておかないと。
122デフォルトの名無しさん
垢版 |
2018/03/09(金) 08:13:16.82ID:a01q5dZ9
Encoding.UTF8

UTF8Encoding.UTF8
の違いって何ですか?
2018/03/09(金) 08:26:28.70ID:Bccqo4ev
>>121
作ってさよならじゃなくて同じ人に継続的に依頼できるよ
お前はプログラミングで遊ぶより他にやるべきことがあるだろ
お前の時間はそんなに安いのか?
手段と目的をごっちゃにしてはいけない
2018/03/09(金) 08:43:48.76ID:UzKVOjRn
>>122
おんなじ
UTF8EncodingはEncodingを継承してて、
継承元.静的メンバ
派生先.静的メンバ
どっちを書いても継承元.静的メンバを指す
125デフォルトの名無しさん
垢版 |
2018/03/09(金) 11:56:27.06ID:a01q5dZ9
>>124
なるほど、同じなんですね
使い分けするようなケースってあるんですか?
2018/03/09(金) 12:17:04.55ID:fyExTngt
>>125
無い
君自身が疑問を感じたように、実際紛らわしくて誤解の元になるので、常にそのメンバが本当に定義されているクラス(つまりこの場合はEncodingの方)を通して参照するべき。
2018/03/09(金) 12:49:19.65ID:ZvjLaJPv
>>121
学んでおいて損はないな
仕様次第だけどサーバー抜きで1時間あればできると思う
2018/03/09(金) 13:25:03.80ID:Ys6dLiAA
>>121
コメント&ソースコード付で納品してもらうという手もある。おれは初心者のころ、金を払って自分が実現したいことの定石を学んだ。
2018/03/09(金) 15:04:45.21ID:WqdE+VIZ
ssh.netのドキュメントってどこにあるのか知っている人います?
2018/03/09(金) 15:15:33.91ID:jFFmu6Vz
僕らはgoogleさんじゃないので
2018/03/09(金) 16:16:50.85ID:Vu9joQUd
2つのアプリ(win form)で情報をやりとりするとき、データベースを介してやるのって一般的ですか?
ソケット通信とどちらがいいでしょうか?あるいは、もっといいやり方がありますか?
情報といっても、数字や数文字の文字列をトリガーに動作する程度です。
2018/03/09(金) 16:20:24.75ID:ZvjLaJPv
一般的かと聞かれたら一般的じゃない
DB増えると管理対象が増えるだけだし

通知を監視するためにずっとDBポーリングするってことは無駄だよ

自分ならプロセス間通信のどれかを選んで使う
2018/03/09(金) 16:46:01.78ID:RRa2zRYk
ぶっちゃけここで質問するよりランサーズで外注して
教えてもらった方がはやいよ

俺もよくつかってる。

たまーに超人的なPGがいる。
2018/03/09(金) 17:23:23.24ID:mUWfUl6D
>>131
キューに溜めたいならDBを
そうじゃなければソケットでやるかな
135デフォルトの名無しさん
垢版 |
2018/03/09(金) 17:38:57.35ID:a01q5dZ9
>>126
そうします
回答ありがとうございました
2018/03/09(金) 17:39:37.72ID:XwDpFLle
>>131
DBでも競合に弱いのもあるからな(SQLiteとか)
通信量が少ないのなら、ソケットでいいかと
2018/03/09(金) 18:22:06.08ID:5QpWky7V
>>117
windowsベースで開発したい理由って何なの?

そのレベルなら言語の基礎文法を学んだあとに
GUIフレームワークを学びながら作れば十分だと思うが
window固有のGUIフレームワークを学ぶ価値がどの程度あるのかわからない
2018/03/09(金) 18:28:41.57ID:nugpn9wm
また始まった
アホは人に突っ込む前に自分に突っ込むことをいい加減覚えろ
いちいち下らん突っ込み入れないと死ぬのかw
2018/03/09(金) 18:31:19.37ID:S6tyjFC3
>>133
俺も副業できるかな?と思って見てみたけど
一つも理解可能な案件が無かったw
2018/03/09(金) 19:07:43.72ID:LQK/KvB6
>>127
現場で表示時間のパラメーター等を変更するなどあると思うので、
勉強がてら独習c#をリファレンスに組んでみます。
2018/03/09(金) 19:08:45.19ID:LQK/KvB6
>>128
人のソースコード読むのも勉強になるよね。
今の環境は周りにコーディングする人いないので、物によっては外注もありですね。
2018/03/09(金) 19:11:12.05ID:LQK/KvB6
>>137
外部施設でコンピューターについて何もわからない人たちにデータを取ってもらう協力をお願いするため。
Linuxとか使ったらそれだけで強力拒否される。

なるべく多くの施設に手軽に参加してもらうには、一番普及してるOSがいいかなと。
2018/03/09(金) 19:31:36.94ID:jFFmu6Vz
OSに縛られたくないならhtml+javascript(typescript)という手もあるな
2018/03/09(金) 19:47:58.15ID:Vu9joQUd
>>132 >>134 >>136
ありがとう。やはりちょっと変ですよね。
いつの間にか決まってたのですが、一応異議を申し立ててみます。
2018/03/09(金) 19:48:10.97ID:41ngztg2
>>114
この発想は無かった
2018/03/09(金) 19:51:06.10ID:Ys6dLiAA
>>139
理解できるレベルになると安い料金で要求だけ高い地雷だらけでエントリーしたくなくなるぞw
2018/03/09(金) 20:06:29.84ID:S6tyjFC3
>>146
っていうかやりようが無いようなクソ案件ばっかりじゃね?
そんなインターフェース提供されていないのに〇〇アプリと連動する〜とか
不可能なレベルの要求ばっかり
148デフォルトの名無しさん
垢版 |
2018/03/09(金) 20:26:38.72ID:QuBAH4JX
ランサーズの案件見てると、なめてのか?
てめーでやっとけってなるな
2018/03/09(金) 23:52:59.10ID:5QpWky7V
>>142
なるほど

タッチパネル端末で一番普及してるOSかどうかは怪しいけど
windows端末を使う前提で決まってるのならいいのかもね
2018/03/10(土) 10:21:46.47ID:lWKHEJ9v
>>149
C#だとwindows、android、ios全部範疇に入ってくるのでいいかなと。
Linuxとか使いたいけど、普通の人に教育する手間考えるとWindowsがやはり無難なんだよね。
2018/03/10(土) 10:33:40.72ID:/EdGBq5J
だったらWebでいいでしょ
2018/03/10(土) 10:33:56.77ID:8DmJsdyc
WinFormsとWPFに新しいコンポーネントが登場するらしいね
WebViewって言うEdgeエンジンのブラウザ
2018/03/10(土) 10:40:46.17ID:X48XHq+4
WebViewはブラウザ作るためじゃなくてUIにWebコンテンツを組み込むためにあるんやで
WinFormsやWPFで取り残されてる可愛そうな羊たちにもWeb移行のチャンスをあげようという、MS様の粋なはからい
2018/03/10(土) 10:59:22.28ID:AHBDXxkZ
いらねーなぁ
2018/03/10(土) 11:07:31.46ID:WYKTGawe
ありがてぇ
2018/03/10(土) 11:28:57.91ID:8DG95oz+
win10でしか動かないEDGE

ついにwin7,win8の切り捨てがはじまったのか
2018/03/10(土) 12:00:36.06ID:8DmJsdyc
コレがソースhttp://www.atmarkit.co.jp/ait/articles/1803/09/news079.html
MSの正式発表らしい
158デフォルトの名無しさん
垢版 |
2018/03/10(土) 12:20:10.83ID:9KQiOEH7
大学生だけどこれとか俺でもできそうなんだが本当にできるのかな。
https://www.lancers.jp/work/detail/1876846
2018/03/10(土) 12:29:04.63ID:mmvBcDOg
そんなことまでここで聞くのかよ
2018/03/10(土) 12:34:31.33ID:mzuiLpki
これで高単価ってタグ付けるとか舐めてるな
間違いなく、割に合わないだろ
161デフォルトの名無しさん
垢版 |
2018/03/10(土) 12:38:56.33ID:9KQiOEH7
学生のワイにはこれで本当に1万円貰えるなら最高なんだが本当に貰えるのかな
2018/03/10(土) 12:39:14.85ID:OtR0XgI+
>>158
ガキの小遣いかよw
2018/03/10(土) 12:41:42.56ID:gfz1jyyQ
そのサイトがスクレイピングNGにしてるかどうかが一番の問題
2018/03/10(土) 12:42:27.86ID:dOb3Zb1K
この価格じゃどう考えても割に合わない
保守も考えたら最低でも10倍以上はないと話にならんぞ
2018/03/10(土) 12:54:04.27ID:mmvBcDOg
>>163
動作テストと称してデータ抜いて渡してもらい逃走
2018/03/10(土) 13:10:29.96ID:AY0LzIsz
>>158
追加でいくらでも変更依頼が来るし
最終的に目的を達成できないとして支払い拒否
しかもキレながらな

いい社会勉強になると思うわ
2018/03/10(土) 13:21:42.55ID:f+B2oLbA
>>164
あの金額だと仕様を詰めるだけでも無理だと思う
2018/03/10(土) 13:46:50.93ID:xj7f+MUR
今日から勉強始めました、ってバカじゃなければ仕様があいまいな時点で拒否反応が出る
169デフォルトの名無しさん
垢版 |
2018/03/10(土) 14:09:52.14ID:DtuniYws
そんなもん後から詳細を教えて貰えばいいだけやん
2018/03/10(土) 14:11:44.37ID:xj7f+MUR
>>169
御託はいいから早くコード書け
2018/03/10(土) 14:18:47.15ID:mzuiLpki
>>169
この手のは依頼主自身が良く分かってないパターン。
詳細なんか出てこないと思った方が良い。
172デフォルトの名無しさん
垢版 |
2018/03/10(土) 14:24:44.51ID:DtuniYws
今見たら出ててワロタ
2018/03/10(土) 14:25:36.62ID:HMj/39DU
1本1万円って、ベーマガの原稿料ぐらいか...
2018/03/10(土) 15:41:18.55ID:SGC3RsHk
>>158
地雷だな
2018/03/10(土) 15:50:55.96ID:f+B2oLbA
>>172
マジかよ、って思ったらほんとに出てたわ
このスレ見てたりして w
2018/03/10(土) 16:39:21.24ID:e/SHdYnW
そもそもスクレイピングって合法なのか?
国内でスクレイパーが逮捕された事件あったよねたしか
2018/03/10(土) 16:50:08.79ID:8DmJsdyc
>>176
図書館のやつは結局無罪だったと思ったが
178デフォルトの名無しさん
垢版 |
2018/03/10(土) 16:59:10.67ID:ummNhzTo
サーバー攻撃と見なされるような頻度でのアクセスがダメってことじゃね?
あと著作権や引用のルールとか
2018/03/10(土) 18:16:32.48ID:CYNPOxqI
>>177
不起訴になったが起訴猶予だったと書かれていたな
相手方とは後に和解して共同声明出してるけど
MDISも警察も検察も到底容認出来る対応ではない

赤の他人ながら未だに腸が煮えくりかえるわ
2018/03/10(土) 18:16:34.41ID:32LTkPVU
>>150
Xamarinのこと言ってるんだろうけどそんな簡単じゃないよ
それぞれの環境に合わせた実行ファイルの用意と配布だけでも相当な手間だから

Windowsに限ってもOSバージョンや.NETバージョン別にテストが必要
ブラウザと違って環境用意するのも大変

仕事で使う物ならアプローチの仕方から相談できる人間を雇ったほうがいいと思うよ
2018/03/10(土) 18:18:17.62ID:32LTkPVU
>>179
あれな
起訴猶予とかあり得んよ
2018/03/10(土) 18:31:18.81ID:OvdmWYI0
C#といっこも関係ないけど、5年ぐらい前にちょっと流行ったような気がするNUIって
結局一過性のブームで終わった?

それとも実は俺が知らんだけでじわじわ普及してる?
2018/03/10(土) 18:55:58.97ID:OboHG4Gl
kinectは生産終了したよ
2018/03/11(日) 01:08:34.06ID:RWekHsjv
はまった時にはランサーズに外注

Super Programmerがたまーにいるので
金払ってでも教えてもらった方が早いぞ。マジ。
2018/03/11(日) 01:21:20.70ID:/f5l5HiP
結局Windows10用アプリはWindows10でしか作成できないってことか
2018/03/11(日) 02:17:10.20ID:QwNvBvJi
揚げ足取るようだけどコーディングは出来るでしょ
開発環境で実機デバッグが出来ないだけでは?
リモートならデバッグも可能なはず
2018/03/11(日) 02:36:42.01ID:dxsKvpqu
UWPとかか?UCRTのお仲間かと思いきや消沈した事を思い出すな
2018/03/11(日) 02:37:40.34ID:wjY1+kiE
確かUWPはWin7だとSDKのインストールすらできないんじゃなかったっけ
2018/03/11(日) 07:30:18.04ID:xf8GjCk5
>>184
NGワード「ランサーズ」余裕でしたw
2018/03/11(日) 18:22:20.07ID:+qdItvv1
起動時にファイル等をOpenして、終了時にCloseがしたいのですが、
VC#のFormアプリでは各処理をどこに記載すればいいのでしょうか?
以下のような感じのことがしたいのですが。

try{
Open
Application.Run(new Form());
}finally{
Close
}

またform起動後にOpen/Close処理を行う場合(formにOpenやCloseのテキストを表示したい場合)は、
FormShownイベントにOpen処理を、FormClosingイベントにClose処理を入れればいいのでしょうか。
途中で落ちた場合を考えて、finallyを入れなければいけない気がするのですが、
どこをtryで囲んだらいいのか分からず、途中で落ちた場合もformは閉じることになるので、これでいいかと思ったのですが。
2018/03/11(日) 18:45:57.52ID:xH7ziL+Z
本当にファイルを開きっぱなしにしたいの?
2018/03/11(日) 19:00:54.30ID:v3WfRQw8
局所的にusingでいいんじゃね
2018/03/11(日) 19:06:58.01ID:dxsKvpqu
>>190
IDisposeインターフェイスを実装したオブジェクトならusingを使う、ILになれば結局同じ様なコードだけど
Formで持つなら保険はvoid Dispose(bool)で行う、VSフォームデザイナーだと*.Designer.csでoverrideされてる
開くのはFormShownなら例外ダイアログ設定後だしコンストラクタより良さそうだが…しかし開く対象は固定なんかな
2018/03/11(日) 20:27:46.27ID:KWlCmpPd
C#でASP.NET WebForm を使うことになりました。
そこでLINQに関する質問です。
なにぶんC#もLINQもよくわかっていないので
ご教授よろしくお願いいたします。

1) LINQ による列挙は、スレッドセーフでしょうか?

ローカル変数にメソッド構文で何らかのLINQクエリを記述して
メソッド内で使用する場合には、スレッドセーフでしょうか?
→ lock 文などは不要ですか?

2) 拡張メソッドを作成して内部で yield return 文などを使用して
LINQ のメソッド構文で使用する場合、yield return 文を
lock 文で囲む必要はありますか?

3) 以下のページの最後の方で、中信頼性とか高信頼性とかの記述が
でてきますが、ASP.NET でLINQを使う場合には、web.config に
これらの設定が必須ですか?

'https://msdn.microsoft.com/ja-jp/library/bb907622(v=vs.100).aspx

以上です
2018/03/11(日) 20:38:13.04ID:PLvoLZo8
>>190
落ちる前にストリームを閉じるのはたぶん無意味なので
無理してusuingやtryのブロックで囲う必要はないと思う。

open/closesするタイミングは教条主義的に考える必要はないでしょう。
要は必要になる前にopenして必要なくなった後にcloseすればよいだけ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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