ふらっと 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/21(水) 11:21:24.54ID:04sPI9mV
いや一生本読んでいればいいよ
自由度の高い分野で「レベルアップしたい人におすすめな薄めの本」ってもう発想が「楽してレベルアップ」で無理だから
365デフォルトの名無しさん
垢版 |
2018/03/21(水) 11:37:51.55ID:0twXSax5
言語が趣味なんだろ
2018/03/21(水) 12:07:16.84ID:8gJoz83s
言語仕様だけ知ってても実力は上がらない
でもやみくもに手を動かしても得られるものは少ない

c#向けじゃないけど昔は脱初心者レベルのソフトを作りながら学べる本があったけど
今はそういった需要は薄いのかあまり見かけない
初級者と上級者の差を埋める本大事だと思うけど

プログラマー的思考を身に着けるために
初歩のアルゴリズム系の本でもじっくり読んで将来に備えよう
2018/03/21(水) 12:07:22.75ID:ElQ36cp9
>>365
言語博士とか
使えない奴筆頭だな
2018/03/21(水) 12:09:17.71ID:ElQ36cp9
>>366
闇雲に動いた方がいいよ
この業界、〇〇体系とか超クソだし
単純に作成したアプリの数が力になっていくと思う
2018/03/21(水) 12:12:58.59ID:8gJoz83s
>>368
昔は今よりできることが少なかったから
やみくもにやっても到達する範囲は広かった
今は広すぎるのでやみくもにやると割に合わない
ずっとググってるだけになりがち
2018/03/21(水) 12:15:23.53ID:lgzIOdqb
何か作って公開しろ
2018/03/21(水) 12:15:55.18ID:cg6C3pEJ
やりたいことをググれば、だいたい答えが出てくるのがC#のいいところ
2018/03/21(水) 12:16:13.75ID:8gJoz83s
その当時流行りのライブラリの使い方なんてすぐに陳腐化する
本質的に長く使えるのはプログラマ的思考

基本的なアルゴリズムがわからないのにプログラマを名乗るのははずかしい
問題解決の手段はググってライブラリをみつけるだけじゃない
2018/03/21(水) 12:20:46.76ID:hwVPx/8e
御託はいいから
2018/03/21(水) 12:20:49.36ID:8gJoz83s
○○をやりたい

c# ○○ で検索

ヒットしないのでやめる

じゃなくて

○○をやりたい

本やwebで○○について学習

c#でコーディング
375デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:25:58.88ID:pPz9oHRt
>>372
> プログラマ的思考
怠惰は美徳
明日出来る事は今日やらない
アルゴリズムを学ぶよりはライブラリをググる
2018/03/21(水) 12:27:30.38ID:Y56bN0nz
>>372
こういうこと言う人間って結局何も出来ないやつのコンプレックスなだけ
プログラミングで一番大事なのは動機。何かを作りたいという情熱だけ
2018/03/21(水) 12:30:24.92ID:8gJoz83s
IDころころの情熱
378デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:31:08.99ID:pL77RIW6
真逆の思考の人が両方ともプログラマーを名乗る
それでも全然問題ない
2018/03/21(水) 12:32:13.16ID:lgzIOdqb
ID真っ赤の情熱
380デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:37:21.23ID:pPz9oHRt
>>378
>>372のような初心者に教えたがる初心者は居ない方が良い
2018/03/21(水) 12:38:22.30ID:MDnOXZZh
基礎的な姿勢と応用思想にも見える
382デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:42:14.57ID:pL77RIW6
>>380
しかし376のような方が情熱で作るのをコピーするのもプログラマ
2018/03/21(水) 12:45:50.02ID:whSpFtiD
というより、現場の土方も橋の構造の設計者も同じ「建築関係者」ってことでしょw
ただ、土方が「構造力学なんて必要ねえ!」って吠えるのはその通りだけど滑稽ではあるねw
2018/03/21(水) 12:46:24.05ID:QTwxh18R
Qiitaみたいに公共領域であるWebにゴミを棄てないなら何でもいい
勝手にやってろ
2018/03/21(水) 12:53:26.69ID:8gJoz83s
やりたいことを言語仕様を学んだだけではコーディングできないことがある
やみくもに手を動かすだけでは目的を達成できないことが出てくる

過去の確立された手法を学ぶことで徐々にこうすべきだとが体が覚えていく

そして内部で何が行われていてどれだけの計算コストがかかりメモリなどが消費されるのか
正確じゃなくてもそれが多いか少ないかを何となく雰囲気がつかめるようになると大成功
386デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:53:34.97ID:pPz9oHRt
>>384
QiitaはWeb用ゴミ箱やぞ
387デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:54:06.43ID:pPz9oHRt
>>385
初心者はもう黙れ
2018/03/21(水) 13:00:13.20ID:/SLykQ97
何かを作って問題にぶちあった時に発揮する問題解決能力に勝るものはない
くそみたいなネットゲーム作ってる会社が最先端のライブラリを生み出してる現状がそれ
2018/03/21(水) 14:09:56.04ID:x2r2V1ra
>>387
ここには初心者しかいないw
>>374
の上が全く納得できなかったけどコピペプログラマの考え方だと合点がいった
>>361
そもそも何のための勉強なのか
就活のための勉強なら読んだ本が多い人と簡単でも実績のある人がどちらが有利なのかはわかる
趣味のための勉強ならここで聞かずに好きにしたらいい
>>363の下の2行を否定できる人はまずいないだろうな
390デフォルトの名無しさん
垢版 |
2018/03/21(水) 14:23:27.49ID:5e+TVXSM
今時、本を読んでコードの勉強する奴なんているの?
いんたーねっとを知らんの?
2018/03/21(水) 14:30:18.38ID:x2r2V1ra
>>390
スレまであるじゃないか
推薦図書/必読書のためのスレッド 82
https://mevius.5ch.net/test/read.cgi/tech/1493844476/
自分では一冊も読んだことないけどな
2018/03/21(水) 14:34:11.32ID:ElQ36cp9
>>390
まあ、どっちも一長一短だよね
393デフォルトの名無しさん
垢版 |
2018/03/21(水) 14:57:19.22ID:0twXSax5
>>367
趣味に使えるも使いないも関係あるかよ(´・ω・`)
2018/03/21(水) 15:20:09.30ID:8gJoz83s
プログラム歴およそ35年
c#歴およそ16年
395デフォルトの名無しさん
垢版 |
2018/03/21(水) 15:27:35.75ID:5e+TVXSM
>>394
いまは何をされてるんですか?
代表作は何でしょか?
2018/03/21(水) 15:30:53.70ID:FUlwWtP3
>>390
インターネットの情報もすべて書籍から生まれてるわけだが
397デフォルトの名無しさん
垢版 |
2018/03/21(水) 15:39:11.17ID:5e+TVXSM
>>396
そんな事ねーだろw
むしろ逆なんじゃないの?
ブログから書籍なら分かるけど
2018/03/21(水) 15:49:39.72ID:x2r2V1ra
>>396
MSDNのリファレンスは書籍が元になってんのか?
2018/03/21(水) 15:52:34.67ID:PUZ7K5bP
PSVRでもやればいいのに(´・ω・`)

スクエニ、「結婚指輪物語 VR」を5月25日配信--漫画の世界に入る新しいVR表現
https://japan.cnet.com/article/35116459/
2018/03/21(水) 15:58:17.79ID:OlOe5UzE
書籍が情報の原点だという意味では
まぁそんなこと言い出したら知識伝播の原点は壁画時代にまで遡る
2018/03/21(水) 16:08:01.93ID:Rl1NS7de
>>398
せめてdocsにしとけよ
2018/03/21(水) 19:42:34.12ID:k50DXUVk
>>394
そんなにやっていて初心者のスレで真っ赤になった上にバカにされるんだ
こんなプログラマにはなりたくないな
そして忘れ去られる元の質問者
403デフォルトの名無しさん
垢版 |
2018/03/21(水) 20:08:29.59ID:1JiLJjJR
努力で解決しちゃう奴がプログラミングをやると>>394みたいになりがち
2018/03/21(水) 20:11:51.61ID:zVVJT8mf
永遠の初心者よりいいと思うけどw
コピペしかできない人間にはなりたくない
2018/03/21(水) 20:19:04.30ID:ElQ36cp9
>>404
それで食えるならそれでもおk
406デフォルトの名無しさん
垢版 |
2018/03/21(水) 20:20:02.58ID:1JiLJjJR
いや、その永遠の初心者が>>394なのだが
2018/03/21(水) 20:31:38.84ID:mIV9xLj7
いちいち、僻み発言はしなくていいから
408デフォルトの名無しさん
垢版 |
2018/03/21(水) 20:33:38.71ID:cPEv79wC
そんな真新しくプログラム作ることってなくないか?
自分のライブラリ使うのもコピペに入るならほとんどコピペみたいなもんやろ
ネットから拾ってただコピペは知らん
2018/03/21(水) 20:46:37.97ID:zVVJT8mf
彼はコピペしかできない人達の何かを刺激してしまったんだなw
410デフォルトの名無しさん
垢版 |
2018/03/21(水) 20:47:32.26ID:mPtLWMTP
コピペって言えばQiitaやHatenaの記事は酷いもんがあるよな
間違ったテクニックや誤魔化す技が一度紹介されたら、そのコピーブログが量産されてくんだ
411デフォルトの名無しさん
垢版 |
2018/03/21(水) 21:53:57.93ID:1JiLJjJR
>>410
酷くていいんだよ
ああいうのは>>394みたいな努力系プログラマーが排出するゴミの受け皿なんだから
2018/03/21(水) 22:10:14.55ID:YzH/Qu94
マ板でやれよ...
2018/03/21(水) 22:55:56.39ID:zVVJT8mf
初心者のベテラン叩きかっこええ
2018/03/21(水) 23:04:09.39ID:/A9S8Tke
ここでいいかな。
分かる人いたら教えてください。

C# で作成する webアプリで、web.config の appSettings セクション?の下の add には
通常では key と value の組で設定の名称と値を保存していますが、key と value の他に独自のプロパティを追加して、たとえば

<appSettings>
<add key="名称" value="設定値" explanation="この項目の説明"/>
</appSettings>

みたいな事をしたいのです。
ずっと前に appSettings の拡張クラスを定義する事によって可能になるというような記事を読んだ記憶があったような気がするのですが
いまは見つけられませんでした。

上のようなやり方の是非はともかく、実現の可否と、やり方を教えてください。
2018/03/22(木) 00:08:52.98ID:/twRZ4qU
>>414
Custom Configuration Section とかでググるといいと思う
https://msdn.microsoft.com/ja-jp/library/2tw134k3.aspx
2018/03/22(木) 00:15:01.17ID:/twRZ4qU
ここの説明のほうがわかりやすいかも
https://blogs.perficient.com/microsoft/2017/01/4-easy-steps-to-custom-sections-in-web-config/
2018/03/22(木) 00:24:24.25ID:G0SZ4nh0
できるけど面倒くさいぞそれ
設定は別のファイルにしたほうがいい
2018/03/22(木) 02:52:41.51ID:R5Phquw0
exeというのはCやC#をコンパイルしたものですか?
PyhronやRubyをコンパイルすると拡張子は何になりますか?
2018/03/22(木) 02:58:58.59ID:R5Phquw0
参考にしたい実行ファイルがあるんですがexeはどれもCやC#にデコンパイルできるんでしょうか?
構文の勉強をするにはどうすればいいですか?
2018/03/22(木) 04:12:18.59ID:JQhOGY5j
exeはWindowsの実行ファイル
PythonやRubyはインタプリタが実行することが多いけど、exeにする方法もある

簡単にでコンパイルできるとは限らない
必要に応じて逆アセンブルを読む
2018/03/22(木) 04:47:45.97ID:tdHViWJs
1. 各言語 → 実行ファイル
2. 各言語 ← 実行ファイル

1. のように、各言語をコンパイルして、実行ファイルを作ることはできるが、
2. のように、実行ファイルを逆コンパイルして、
各言語のソースコードに直すことは、無理

特に、他人が作ったものは、年十年も研究しないと無理

1. のように、まず自分でプログラムする事を、勉強した方が速い
2018/03/22(木) 07:06:16.48ID:dIG91/vu
>>419
C#で作られたものならILSpyなどのデコンパイラを使えばかなり高精度でソースを復元できる
でも他人のソース見て勉強したいならGithubでOSSを読むのが一番だと思う
上の人はこの板の名物基地外だから無視するように
2018/03/22(木) 08:16:03.10ID:Cb8k5JAF
ていうかc#って難読化しないとソースが丸々実行ファイルに入ってるよね
2018/03/22(木) 09:00:19.19ID:Yz4YgUU6
>>423
難読化しても丸々入るやろ
2018/03/22(木) 09:04:15.42ID:Cb8k5JAF
>>424
読まれちゃうよね
2018/03/22(木) 14:56:38.14ID:fyCa2g0B
読まれたら困るような技術やマルウェアでも仕込んでんのか?
2018/03/22(木) 15:38:32.20ID:Cb8k5JAF
>>426
僕たちの技術が安売りされておる!
2018/03/22(木) 17:44:35.45ID:s6EbUNWz
>>419
CとC#が同じように見えるレベルででデコンパイルで勉強とか無理
それ以前に言語スレで質問するときは最低限その言語で「Hello World!」実行できるようになってから
2018/03/22(木) 19:07:00.07ID:JQhOGY5j
Cで書いても逆アセンブルすればだいたい読めるじゃん
2018/03/22(木) 19:12:37.50ID:2OJ71Hoj
>>429
それは質問の要件に合う話?
431414
垢版 |
2018/03/22(木) 19:18:29.35ID:+BApurZo
>>415-416
ありがとう。
調べてみます。

>>417
茨の道っぽいかもですね。
まあ先の用例のケースなら <!-- --> でコメントを入れてもいいので、適宜、工数を考えてみます。
でも <!-- --> でコメント入れると、行挿入したときとかに勝手に改行が入ったりするので。。
2018/03/22(木) 19:41:14.86ID:cv696+3f
読み込んだ画像を縦横に連結して新しく出力したい。
横への結合はあるけれど、縦・横並べるにはどうしたらいいんだ



■■■
■■■

こういう風にしたい
2018/03/22(木) 19:45:29.56ID:kZrJsqkn
読み込んだ画像を上下にずらしながら描画すればいいんじゃねーの?
2018/03/22(木) 19:59:53.87ID:52tkzdW9
>>432
C#以前に画像の大きさと座標を考えるだけじゃないの
横に連結できるのに縦横ができない方が意味不明
2018/03/22(木) 20:05:24.46ID:T2vZ1xLC
>>432
どこに出力するのかぐらい書けや
2018/03/22(木) 20:47:55.73ID:ni48WVgw
class TypeA: IType{}
class TypeB: IType{}
IType[] table;

こんな感じの構成で配列にI/Fを格納してステートマシンをやりたいのに、
何をnewして配列を初期化したらいいのか分からない誰かたすけて
2018/03/22(木) 21:04:10.32ID:uk+GlZCh
Listを使うようにしたらいいよ
2018/03/22(木) 21:16:31.83ID:/twRZ4qU
>>436
IType[] table = { new TypeA(), new TypeB() }
とか?
2018/03/22(木) 21:17:50.71ID:ni48WVgw
ごめん
IType tmp = new IType[2];
としたら普通に出来た

インターフェースはnew不可能って嘘言ってる奴は死ねばいいのに
2018/03/22(木) 21:26:09.52ID:06GLHVJW
Interfaceはnew出来ないぞ。
それは配列をnewしてるのであってInterfaceをnewしてるわけでは無いんだよ。
2018/03/22(木) 23:23:13.81ID:R5Phquw0
>>421,428
サイト見ながらハイ&ローゲームを作ったけどめっちゃ難しかった
でもマインクラフトなんかよりずっと面白いな!
お前らみたいに長年プログラムを書いてるとソースコードを見ただけで吐き気がしたり嫌になったりすることもあるの?
今でも楽しく書けてる?もうロボットになっちゃった?
2018/03/23(金) 10:18:12.37ID:dRbnJSq+
ソースなんか見なくても
テストが全くない、仕様書はない、前任者が逃亡
のどれかを聞いたら吐く
2018/03/23(金) 15:25:59.96ID:4mHfCYml
好きなことは趣味だけにとどめておけとは良く言うな
まぁ広い世界を見るのと見ないのじゃ、得るものも考えも違ってくるけど
2018/03/23(金) 18:41:53.25ID:K8shiMoF
起動中の任意のウィンドウをクリックスルーさせるアプリを作りたいんですが開発言語は何がいいでしょうか?
C#で作れますか?
2018/03/23(金) 18:48:37.93ID:KCL7rjza
> クリックスルーとはウェブサイト上の広告をクリックすることによって広告主のコンテンツに移動することであり、
> ウェブサイトの広告効果を測る一つの尺度である。

残念ながら意味不明
2018/03/23(金) 19:16:30.96ID:WXYYX9lz
エスパーすると任意のwindowの後ろの座標クリックしたいんじゃね?
2018/03/23(金) 19:16:54.09ID:K8shiMoF
言い方が悪かったですね
クリックスルーとは手前に表示されているウィンドウではなくその奥にクリックイベントを送ることです
私の作った造語です。
クリックをスルーさせる。なら分かったでしょうか?
2018/03/23(金) 19:19:36.49ID:f2Ovt9hj
windowマネージャー次第じゃね
2018/03/23(金) 19:20:07.85ID:K8shiMoF
>>446
そうです
2018/03/23(金) 19:26:06.63ID:oo1PkjPG
WndProcでマウス関連のメッセージが来たらそれを後ろのウインドウに送れ
2018/03/23(金) 19:41:03.71ID:K8shiMoF
関数も知らない初心者なのでよくわかりませんが、
ありがとうございます
頑張ってみます
2018/03/23(金) 20:04:04.89ID:Wu9wrvWh
C#でWindows7や10の通知を検知する方法ありますか?
2018/03/23(金) 20:07:18.14ID:YkCX9UZt
>>450
これだと自分自身のフォームに対するクリックしか対応できないんじゃね?
>>448で自作する話かと思った
454デフォルトの名無しさん
垢版 |
2018/03/24(土) 02:01:16.50ID:eOg1kWoS
int[] ii = {1,2,3,4,5,6,7,8,9,10};
var i = ii.Where(x=>x>=11).FirstOrDefault();
Console.WriteLine(i);
こんな感じのことをしたいのですが、iに0が入っていたときに0が検索結果なのか?それともデフォルト値の0が返されたのか?を調べる方法ってないのでしょうか?
2018/03/24(土) 02:12:40.29ID:RAJoRlJs
>>454
var i = ii.Where(x=>x>=11).Cast<int?>().FirstOrDefault();
これならデフォルトはnullになる
2018/03/24(土) 02:22:55.04ID:f2IRc2qS
11以上の0てw
457デフォルトの名無しさん
垢版 |
2018/03/24(土) 02:23:26.48ID:eOg1kWoS
>455
ありがとうございます
null許容型にしてしまう技は全然思いつきもしませんでした
2018/03/24(土) 03:52:47.12ID:vYyJGm6o
普通に.Any()みたいのでチェックしたほうがいい気がする
2018/03/24(土) 06:34:16.57ID:kwFJV00Z
普通にanyとFirstでやるほうがいいと思う
null許容型を嫌っている人も多いし
2018/03/24(土) 11:02:27.65ID:nWAEGsYu
forでやればいいと思うけど一行で無理やりやるとしたら

var i = ii.ToList().FindIndex(x => x > 11);

で位置が取れる
見つからなかったら-1が帰る

値はii[i]

※これはLINQじゃない
2018/03/24(土) 11:07:47.22ID:nWAEGsYu
見直したら

var i = Array.FindIndex(ii, x => x > 11);

でも行けた
失礼
2018/03/24(土) 11:54:28.18ID:I8UGP+gf
そういうラムダ式ってぶん回してるとGCガリガリしそうな気がする俺は素直にforで判定してる
2018/03/24(土) 12:07:26.69ID:Y8GXLzWd
GC大量発生しているじゃないか!とGen0と1の数字で大騒ぎしているお客さんみたいなこと言わないでよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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