ふらっと C#,C♯,C#(初心者用) Part120 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2016/04/07(木) 23:50:53.69ID:qhI2bqCd他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part119 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1454169140/
■関連スレ
C#, C♯, C#相談室 Part90 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1455160063/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
0002デフォルトの名無しさん
2016/04/08(金) 01:38:17.04ID:mOlgqJFI0003デフォルトの名無しさん
2016/04/08(金) 06:37:09.93ID:HJ1k/UMj0004デフォルトの名無しさん
2016/04/08(金) 14:41:08.64ID:1CGIDV2R0005デフォルトの名無しさん
2016/04/08(金) 17:40:04.39ID:ZKlMt/erusing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
と入ってきます。
using System;
と
using System.Linq;
だけにしたいのですが、どこを弄るといいですか。
VBだとプロジェクトのプロパティの参照タプの中で指定できました。
0006デフォルトの名無しさん
2016/04/08(金) 18:01:42.28ID:Dbjh+uI90007デフォルトの名無しさん
2016/04/08(金) 18:26:24.26ID:ZKlMt/er0008デフォルトの名無しさん
2016/04/08(金) 18:57:24.06ID:Dqsd1B4yデフォルトテンプレートを弄れるかどうかは知らない
0009デフォルトの名無しさん
2016/04/08(金) 19:15:16.90ID:k5mAqr7Y0010前スレ966
2016/04/08(金) 20:57:12.84ID:O+dqsEfsレス�dです。わかりました
hddに空き容量があるかどうかって、どう判断すればいいんですか?
空き容量がクラスターサイズ未満の場合、空き容量不足と判断していいんですか?
0011デフォルトの名無しさん
2016/04/08(金) 21:32:07.36ID:rceSL6lb「チェックして何かする」という操作は、その一連の操作がアトミックでない限り、TOCTOU問題を孕んでいる
一連の操作をアトミックにできないのならば、「失敗したら対処する」が正解
0012デフォルトの名無しさん
2016/04/08(金) 21:45:30.03ID:rceSL6lbそもそも正確性が必要ないなら「理由は分からんが書き込みに失敗した」例外で十分だと思いますけどね
だって空き容量だけが書き込めない理由ではないし
0013デフォルトの名無しさん
2016/04/09(土) 00:06:43.64ID:+uY9P9N5例えば、new [] {
0014デフォルトの名無しさん
2016/04/09(土) 00:12:43.21ID:+uY9P9N5例えば、new [] {
0015デフォルトの名無しさん
2016/04/09(土) 00:13:29.70ID:+uY9P9N50016デフォルトの名無しさん
2016/04/09(土) 00:21:33.80ID:IY2UdM/90017デフォルトの名無しさん
2016/04/09(土) 00:36:20.92ID:+uY9P9N5http://ideone.com/7zaJob
0018デフォルトの名無しさん
2016/04/09(土) 00:39:47.80ID:gMQW+q93何をいいたいのか全くわかりませんが、
とりあえずクラスタサイズと空き容量を比べるのは不毛だとわかったのでやめておきます
0019デフォルトの名無しさん
2016/04/09(土) 01:14:54.06ID:ZG8b6ceC拡張メソッド使った方が良さそうだねこれ
beginとendの間だけフローを別にするわけだし
0020デフォルトの名無しさん
2016/04/09(土) 01:18:52.50ID:ZG8b6ceC0021デフォルトの名無しさん
2016/04/09(土) 02:20:14.08ID:+uY9P9N5結果を遅延評価のIEnumerable型で返せればいいので、拡張メソッドでやってみます。
ありがとうございます。
0022デフォルトの名無しさん
2016/04/09(土) 03:49:09.65ID:rNffGqnSダイアログのプログラムを作っています。
メインのダイアログに、ピクチャーBOXを作って
そこに、画像を出したいです・・・
2つ目のダイアログ(モーダル?)を
出し、そこからボタンを押して
メインのダイアログに画像を表示を行っても、出ないです・・・
なぜ???
0023デフォルトの名無しさん
2016/04/09(土) 09:51:53.08ID:AbuIHjSUusing多用する人はVB行った方がいいと思う
0024デフォルトの名無しさん
2016/04/09(土) 10:03:11.06ID:R4MY7GdiusingとVBの関係って何?
>>5のコードでListやTask定義するにもSystemから記述するのが基本なの?
0025デフォルトの名無しさん
2016/04/09(土) 10:17:52.75ID:6gRo/Soyテメーもプログラマーの端くれなら閾値をはっきり定義しろ
できねえだろ
主観で喋るな
0026デフォルトの名無しさん
2016/04/09(土) 11:08:55.29ID:AbuIHjSU0027デフォルトの名無しさん
2016/04/09(土) 11:18:07.13ID:R4MY7Gdi相手して損したわ
0028デフォルトの名無しさん
2016/04/09(土) 11:33:39.18ID:wC7h6zHD0029デフォルトの名無しさん
2016/04/09(土) 11:34:55.96ID:mjwXlN36先にusing数の上限を決めるとか本末転倒もいいとこ。大体、usingが増えると何が悪いって言うんだ。
言語仕様もC#6.0でusing staticが追加されるような方向なのに。
0030デフォルトの名無しさん
2016/04/09(土) 11:59:24.66ID:+GTdNWiWID:AbuIHjSU
バカ発見
0031デフォルトの名無しさん
2016/04/09(土) 12:25:29.83ID:AbuIHjSUusing 大阪府中央区;
using 兵庫県神戸市;
void XXX() {
元町 m;
一番町 i;
・
・
}
可読性最悪と思わないか?
0032デフォルトの名無しさん
2016/04/09(土) 13:00:31.96ID:VR6ZQ3df何が言いたいのかわからいけど、
元町がどのクラスにもあって判別つかないなら
そもそも省略できないから、可読性云々にはならない
特定のクラスにしか無いなら、〜一番町と毎回書かれるより、一番町の方が自分は可読性が良いと感じる
0033デフォルトの名無しさん
2016/04/09(土) 13:05:21.40ID:nRuHPtMR0034デフォルトの名無しさん
2016/04/09(土) 13:25:34.39ID:mjwXlN36名前空間的な設計がひどいw
というか、それらを同じレベルで扱う理由が分からん。
それは置いといて、
紛らわしい場合はエイリアス使うか、そこだけ名前空間名付きで使うだろ。
全体を縛る理由にはならん。
0035デフォルトの名無しさん
2016/04/09(土) 14:55:43.84ID:tsk5klzv名前が一意でなければコンパイルエラーになるだろうとか
アホの極み
0036デフォルトの名無しさん
2016/04/09(土) 17:05:27.54ID:DA1syyI4using禁止してもすべてフルパスで書けば良いだけだから
少ないほど良いなら禁止にすれば良いのに
0037デフォルトの名無しさん
2016/04/09(土) 17:08:18.33ID:tdJ21AF+どこのクラスかよりどんな機能かの方が大事じゃない?
それにどこに属してるかなんてマウス当てれば見れるし
0038デフォルトの名無しさん
2016/04/09(土) 17:25:06.02ID:2XO/HUgQNUnit使った時に、.NETデフォルトの名前空間と被ったことあったな
0039デフォルトの名無しさん
2016/04/09(土) 17:43:14.71ID:wC7h6zHD賛同を得られないようです。
そうなったらなったでエイリアスかフルパス指定して下さい。
0040デフォルトの名無しさん
2016/04/09(土) 20:38:53.28ID:nX2uL7WF重要だよ
名前空間はコンテキストを表からね
自分が扱っているコンテキストを知らずにコードなんて書けない
0041デフォルトの名無しさん
2016/04/09(土) 21:13:08.18ID:oSYK5b7Mそれは所有関係で表せよw
class 地球{
日本 日本;
アメリカ アメリカ;
}
004222
2016/04/09(土) 21:17:45.14ID:L1kfgsDfプログラム作らなければならないので・・・
>2つ目のダイアログ(モーダル?)を
出し、そこからボタンを押して
メインのダイアログに画像を表示を行っても、出ないです・・・
ひっそりと、教えてくれれば、有りがたいです
0043デフォルトの名無しさん
2016/04/09(土) 21:59:13.95ID:8IlPZvxc0044デフォルトの名無しさん
2016/04/09(土) 22:02:20.33ID:y1M33vAR0045デフォルトの名無しさん
2016/04/09(土) 22:27:50.77ID:LuIwrhYb3つクラス(Form1クラス、Aクラス、Bクラス)があるんですが
今はForm1クラスはAクラスのインスタンスを持っていて、AクラスでBクラスのインスタンスを作成しているんですが
Form1クラスからBクラスの値を参照したくなった場合、どう実装したほうがいいんでしょうか?
0046デフォルトの名無しさん
2016/04/09(土) 22:34:31.00ID:oSYK5b7M初言語javaなんだけど、俺がjava始めたばっかりの頃importが面倒で、
import java.*;
import javax.*;
だけ書いたけど、エラー出たから何故動かないんだよって思ってた
0047デフォルトの名無しさん
2016/04/09(土) 23:20:28.04ID:Xp7ojQRiその1
AクラスにBクラスの必要なメソッド等の委譲コードを書く
その2
AクラスにBインスタンスのプロパティを作る
0048デフォルトの名無しさん
2016/04/10(日) 00:28:58.42ID:Ahv7tyaqBクラスを静的なクラスにするのはやめたほうがいいんですか?
0049デフォルトの名無しさん
2016/04/10(日) 08:27:51.35ID:+2PVv+oX後ほど
何か?説明出来るもの作成します・・
>>44
その通りです。
メインダイアログのForm1にPictureBox1
が、有って
2つ目のダイアログを出して、そこからForm1のPictureBox1
を表示をさせているのだけど、表示されない・・・
簡単なものが出来ない・・・Orz
0050デフォルトの名無しさん
2016/04/10(日) 09:14:16.51ID:7j13M86fBクラスの用途次第。
つうか、BクラスがstaticならAクラスを経由する意味なくね?
0051デフォルトの名無しさん
2016/04/10(日) 10:28:18.72ID:1Wh4RO0Jあまり違いが無いのかもしれませんが、
リソースに音声ファイルを置いてProperties.Resourcesから引っ張ってくるのと
たとえばアプリケーション配下に用意したフォルダに置いておいてパスを指定するのと
どっちがよいものでしょう
0052デフォルトの名無しさん
2016/04/10(日) 10:34:21.45ID:1I5jwrs3■概要
「そうですねabcの次はdefですね笑」
上記文章のdefにマッチさせる正規表現文字列をご教授下さい。
■ロジック
「***笑」の「***」の中に存在する「最後の」半角英数文字を取り出したい。
■現在の正規表現文字列
"([0-9a-zA-Z!-~]+)(.*)(笑)"
■現在の正規表現文字列に対するマッチ結果
マッチ文字列 : abcの次はdefですね笑
マッチ文字列グループ1 : abc
マッチ文字列グループ2 : の次はdefですね
マッチ文字列グループ3 : 笑
■質問内容
上記グループのいずれかにdefが該当するような
正規表現文字列を教えて下さい。
ポイントは「最後の」です。
0053デフォルトの名無しさん
2016/04/10(日) 10:42:56.62ID:eLrPtu2a0054デフォルトの名無しさん
2016/04/10(日) 10:47:00.73ID:1I5jwrs3ご回答ありがとうございます。
伝え方がまずかったですが、
ロジックは、
「***笑」の「***」の中に存在する「最後の」半角英数文字を取り出したい、
です。
半角英数文字が2個あるとは限らない(1個かもしれないし100個かもしれない)
かつ、
そうですね、の次は、ですねは不要です。
0055デフォルトの名無しさん
2016/04/10(日) 10:52:08.91ID:/P6H1bvWこの場合はfが欲しいものかな?
0056デフォルトの名無しさん
2016/04/10(日) 10:52:08.96ID:eLrPtu2a0057デフォルトの名無しさん
2016/04/10(日) 11:09:44.11ID:1I5jwrs3ご回答ありがとうございます。
欲しいものは def です。
「***笑」の「***」の中に存在する「最後の」半角「連続」英数文字を取り出したい、
のです。
>>56
ご回答ありがとうございます。
半角「連続」英数文字が2つとは限りませんので。。
1個かもしれないし100個かもしれないです。
0058デフォルトの名無しさん
2016/04/10(日) 11:23:25.02ID:1I5jwrs3以下で解決しました。ご回答ありがとうございます。
"([0-9a-zA-Z!-~]+)([^0-9a-zA-Z!-~]*)(笑)"
0059デフォルトの名無しさん
2016/04/10(日) 15:13:22.39ID:uwr9rV8dC++と決定的に違うところ
利点でもあり欠点でもある
0060デフォルトの名無しさん
2016/04/10(日) 17:20:39.84ID:RwAe3a6t0061デフォルトの名無しさん
2016/04/10(日) 17:45:17.43ID:2nCcxZVq0062デフォルトの名無しさん
2016/04/10(日) 18:02:48.76ID:+n+Dd3ZV0063デフォルトの名無しさん
2016/04/10(日) 20:02:19.00ID:ClY0znlz0064デフォルトの名無しさん
2016/04/10(日) 21:07:55.33ID:Ahv7tyaqAクラスを経由する必要はないです
結局Formクラスでインスタンスを作成し、そのインスタンスをAクラスにも渡すようにしました
0065デフォルトの名無しさん
2016/04/10(日) 21:11:39.48ID:7j13M86f意味解らん。
staticなクラスのインスタンスを作る?
0066デフォルトの名無しさん
2016/04/10(日) 21:17:09.60ID:7j13M86fエスパーしてみる。
T Foo<T>(T a, T b) => (dynamic)a + (dynamic)b;
例えば、こんな意味かな?
0067デフォルトの名無しさん
2016/04/11(月) 04:02:12.79ID:+pegrb/Dもともと
>AクラスでBクラスのインスタンスを作成している
って書いてあった
>Bクラスを静的なクラスにするのはやめたほうがいいんですか?
って話があっただけで、今Staticだとは言ってないような
>>64
クラスの値ってのが何かいまいちはっきりしない
Staticでいいならそれでもいいけど
Aクラスで、生成したBクラスのインスタンス返すようにして、フォームでそれ受け取る方がよいんじゃね
0068デフォルトの名無しさん
2016/04/11(月) 04:12:47.88ID:PV6heo6W多分それだろう
ジェネリクスで受けた引数に例えば+=などの演算子を適用するにはdynamicが必要だから
0069デフォルトの名無しさん
2016/04/11(月) 08:31:59.54ID:PPmBx3Gy>>68にジェネリクスは少し早すぎたようだな
0070デフォルトの名無しさん
2016/04/11(月) 08:35:31.15ID:aH1XfOsQジェネリック医薬品と間違えちゃったんでしょうえ
0071デフォルトの名無しさん
2016/04/11(月) 09:32:02.93ID:0g0FwiI9頭のお薬ね
007264
2016/04/11(月) 23:13:52.75ID:OVeoS2bRstaticにはしてないです
>>67
staticにするとそれはそれで結構な量を修正しないといけないので
結局インスタンスクラスのままにしてFormクラスで持つようにしました
もう一つ疑問が出てきたので回答お願いします
FormClosedイベントで設定された値をBクラスのインスタンスに格納してXmlシリアライズ化で保存しようとしているんですが
Formが閉じられなくなります
BクラスのデストラクタXmlシリアライズさせているのですが
FormClosingイベントで値の保存をするべきなのでしょうか?
0073デフォルトの名無しさん
2016/04/11(月) 23:19:38.51ID:4CkanXgX隠し事はお前のためにならないぞ
0074デフォルトの名無しさん
2016/04/11(月) 23:45:26.74ID:qF5EN52b0075デフォルトの名無しさん
2016/04/12(火) 03:11:25.21ID:k6A/HJ44FormClosedはフォームが閉じられた後に発生するイベントだぞ
ちなみにフォームの開く/閉じると、インスタンスの寿命は一致してないし
そもそも.NETではデストラクタが実行されるタイミングは不定だぞ
デストラクタで保存しようとしたら、GC走るまで保存されない
0076デフォルトの名無しさん
2016/04/12(火) 10:29:02.98ID:t1SANezo文字化けしないようにするにはどうすればいいですか?
0077デフォルトの名無しさん
2016/04/12(火) 11:07:05.44ID:4pSn+gwfヘッダにもContent-Type正しく書いてるしUTF-8だしで化ける要素なさそうだけど
ideoneとかでその化けるってコード書いたら
0078デフォルトの名無しさん
2016/04/12(火) 13:42:28.56ID:DFx5CsWv0079デフォルトの名無しさん
2016/04/12(火) 16:26:23.95ID:nUKDNopl0080デフォルトの名無しさん
2016/04/12(火) 21:33:08.43ID:OgC2WVdIFormClosedイベント中はまだFormの変数とかは破棄されてないんですよね?
調べているとApplication.Exitが発行されてから発生すると書かれているんで
もしかしてFormClosed中はインスタンス変数とか触っちゃダメですか?
0081デフォルトの名無しさん
2016/04/12(火) 21:36:54.69ID:u71GHm0/埒があかねえ
それが嫌なら質問かプログラミングのいずれかを辞めろ
向いてないお前
0082デフォルトの名無しさん
2016/04/13(水) 00:36:45.26ID:7/Vts1VO0083デフォルトの名無しさん
2016/04/13(水) 00:54:41.60ID:PNhaRHoO0084デフォルトの名無しさん
2016/04/13(水) 18:28:48.21ID:bkBwVfdDすいません解決しました
0085デフォルトの名無しさん
2016/04/13(水) 19:07:31.62ID:Q89XOWSPUIスレッド以外からフォームを触るときInvokeメソッドを使いなさいと教わったんですが
こういう書き方しかできないのでしょうか?
デリゲートやイベント等でもっとスマートにかけないんですか?
http://ideone.com/dwJo9z
0086デフォルトの名無しさん
2016/04/13(水) 19:24:19.69ID:ihuFOFJr0087デフォルトの名無しさん
2016/04/13(水) 19:27:52.57ID:ihuFOFJr劇的に楽になると思います
あなたの抱えている問題を知らないので私はなんとも言えませんが
別スレッドからFormを触れたいってのは
手段であって目的ではないですよね
目的を書いた方がいいですよ
0088デフォルトの名無しさん
2016/04/13(水) 20:50:54.83ID:Q89XOWSPformのtextboxにAsyncMethodクラスのログ(状態)を表示したいんです
たとえば「今〜を処理中です」のメッセージや、進行状況等です
0089デフォルトの名無しさん
2016/04/13(水) 20:56:47.92ID:VkP3x0ag0090デフォルトの名無しさん
2016/04/13(水) 21:01:25.43ID:qcaBioTQCancellationTokenSourceを使う
How to: Cancel a Task and Its Children
https://msdn.microsoft.com/ja-jp/library/dd537607%28v=vs.110%29.aspx
0091デフォルトの名無しさん
2016/04/13(水) 21:25:58.88ID:SAr8RNES処理は細切れにできんの?
まあ途中経過伝えるくらいだからできるんだろうけど
await Taskである程度処理
状態通知
await Taskである程度処理
状態通知
以降繰り返し
と書けるならスレッドを意識して使う必要はない
0092デフォルトの名無しさん
2016/04/13(水) 21:27:33.66ID:VkP3x0agありがとうございます
できたっぽいです
やっぱりこれしかないんですかね
ググってもみつからない
0093デフォルトの名無しさん
2016/04/13(水) 21:28:05.59ID:MNjDWxQiとりあえずいくらマネージドとはいえThreadはもう直接使用しません
現在の非同期処理はTaskをベースとしたTAPパターンを使います
基本的にはUIハンドラでawait Taskしてメソッドを非同期にしますが、(Taskを別に待機した後UIに戻る)
起点に依ってはUIスレッドでProgress<T>を作り、IProgress<T>として渡しReport(T)させます
new Progress<string>(textBox1.AppendText)とか、これはSynchronizationContext.Post()のラッパーです
その他、UIスレッドで取得したTaskScheduler.FromCurrentSynchronizationContext()を
Task.ContinueWith()に渡して継続タスクのスケジューラをUIスレッドに指定したりもします
書き方としてはawaitがスマートですが実装的にはyieldのような糖衣構文なので内部は複雑です
0094デフォルトの名無しさん
2016/04/13(水) 21:34:41.71ID:ou7cKYoKほい。http://ideone.com/0QAKVO
TaskScheduler.FromCurrentSynchronizationContext()とか使ったやつ
0095デフォルトの名無しさん
2016/04/13(水) 21:45:47.24ID:ou7cKYoKtask = Task.Delay( 10000 ).ContinueWith( ( task ) => f1.textBox1_AppendText("10秒たちました"), uiContext );
って書いた方が少しスマートか。
0096デフォルトの名無しさん
2016/04/14(木) 00:05:48.84ID:fAR3CNDjそういう用途のためにIProgress<T>ってものが存在しますのでググってみると良いと思いますよ
0097デフォルトの名無しさん
2016/04/14(木) 00:52:22.66ID:xmEGevwc0098デフォルトの名無しさん
2016/04/14(木) 01:25:44.82ID:V0fKG/mP0099デフォルトの名無しさん
2016/04/14(木) 01:41:45.78ID:ODCDQP4xhttps://msdn.microsoft.com/ja-jp/library/system.windows.forms.form.formclosing(v=vs.110).aspx
>Occurs before the form is closed.
って一番上に書いてあるやんけ!!
0100デフォルトの名無しさん
2016/04/14(木) 10:24:49.60ID:FMI1MKs2今のところ出た時はソフトを再起動させてますので・・・
https://oliversturm.com/2005/03/23/red-x/
0101デフォルトの名無しさん
2016/04/14(木) 11:09:44.69ID:I/JV89BY読めねえ!!!!
0102デフォルトの名無しさん
2016/04/14(木) 12:08:54.84ID:zHhupJkO私はハッキングテクニックを知らないのでテスト方法が思いつきません
0103デフォルトの名無しさん
2016/04/14(木) 12:20:33.31ID:u7bXxnSkもちろんデータは無害なものを入れてネットワークは母艦と隔離して
0104デフォルトの名無しさん
2016/04/14(木) 12:25:47.70ID:ppudnQqLイベント全般で
ing は前
ed は後
0105デフォルトの名無しさん
2016/04/14(木) 12:40:01.69ID:rnbZR8VOそもそも例外を漏らすのが間違い
ちゃんと明示的にキャッチして処理しろよ
0106デフォルトの名無しさん
2016/04/14(木) 15:05:30.47ID:bYBpsyWJ.net4(VC#2010)なので使えませんでした・・・
0107デフォルトの名無しさん
2016/04/14(木) 16:09:13.17ID:BY7gxQ6Dそれならasyncも(無理しないと)使えないんだから、BackgroundWorker使っちまったほうが良いんじゃないのかな
これならプログレスバーの更新も問題ない
0108デフォルトの名無しさん
2016/04/14(木) 16:52:50.26ID:FTQTetBCまあインデクサーの仕組みを考えると当たり前なんだけどCの感覚でやるとはまる
0109デフォルトの名無しさん
2016/04/14(木) 18:17:05.53ID:vqRHqcPK勝手にgetter/setter呼び出すの(VB)
どっちがお好み?
0110デフォルトの名無しさん
2016/04/15(金) 10:31:19.24ID:OljrwCpkpublic static T[] GetControls<T>(this System.Windows.Forms.ContainerControl parent)
{
System.Collections.ObjectModel.Collection<T> result=new System.Collections.ObjectModel.Collection<T>();
foreach(System.Windows.Forms.Control c in parent.Controls)
{
T tryc = c as T;
if(c != null) result.Add(c);
}
return result.ToArray();
}
しかし、「T c = ctr as T;」のところがコンパイルエラーになってしまいます。
「型パラメータは as演算子で使えません」とかで
やりたいことは、キャストを試みて成功したら云々という風にしたいのですが・・・
try catch するしかないですか?
0111デフォルトの名無しさん
2016/04/15(金) 10:32:30.37ID:OljrwCpk誤
if(c != null) result.Add(c);
正
if(tryc != null) result.Add(tryc);
0112デフォルトの名無しさん
2016/04/15(金) 10:44:38.51ID:OljrwCpkif (typeof(T) == c.GetType())
{
result.Add(c);
}
を試みたら、Add のところで T に型変換できない、と叱られてしまいました
0113デフォルトの名無しさん
2016/04/15(金) 10:56:45.41ID:OljrwCpkOfType という標準機能があることを発見しまして、それにて解決しました。
0114デフォルトの名無しさん
2016/04/15(金) 10:57:55.45ID:+kCFise6GetControls<T>(略) where T : Control
としてTがControl派生であることを宣言すればasもできるよ
というか子孫コントロールの取得がいらないならEnumerable.OfType<T>拡張メソッドで良いよ
0115デフォルトの名無しさん
2016/04/16(土) 03:07:58.80ID:0DmmjM4Q0116デフォルトの名無しさん
2016/04/16(土) 05:55:15.06ID:OXHmvla70117デフォルトの名無しさん
2016/04/16(土) 09:49:29.74ID:2kk4Bn2l0118デフォルトの名無しさん
2016/04/16(土) 10:34:20.51ID:JMwUZ1zl0119デフォルトの名無しさん
2016/04/16(土) 11:18:13.59ID:47uue4xh0120デフォルトの名無しさん
2016/04/16(土) 18:39:07.41ID:STyyGeuU0121デフォルトの名無しさん
2016/04/16(土) 19:27:33.53ID:5kYdcFdh業務用アプリで大方動いているのですが、使用PCの解像度が1920×1080から
最初の想定より1344×840やらなんやらいろいろ増えてしまって・・・
開発環境は仮想でやってるのでいかようにもできるのですが、
一番メインのPCで一番メインの作業が1920×1080のフルサイズでやりたくて
フォームサイズもめいっぱいで作ったんですが、そうなると小さい解像度のPCでは
必要なボタンが画面から外れてしまい・・・
PlusPakも使える環境なんですが、Anchorとの兼ね合いでわけわからんようになりました
きっと基本的な考えが抜けてるんだろうとは思うのですが、解像度の設定の定石みたいのがあったら
教えて下さいませ
0122デフォルトの名無しさん
2016/04/16(土) 21:20:13.91ID:Jk1DzNfT0123デフォルトの名無しさん
2016/04/16(土) 22:39:41.38ID:jcDEh7yB機能を分けたりTab使ったり色々やれることはあります
0124デフォルトの名無しさん
2016/04/17(日) 02:51:19.63ID:gGv05Z84一番大きいので連番の画像をDLするソフトくらいしか作ったことない
コードの行数は全クラス合せて2000行くらい
とにかく使う頭がないんだと思う。もっと他人のコードに触れるべきなんだろうけど・・・
0125デフォルトの名無しさん
2016/04/17(日) 04:28:00.10ID:XdU64YjK何も困ってないし、問題ないと思うよ。
0126デフォルトの名無しさん
2016/04/17(日) 08:08:24.78ID:KUJBjwPV単に効率が上がるというだけ
ただ、プログラムで頻繁に使われるロジックを一般化したようなもんだから、用途がないってのはちょっとあり得んかなとは思う
0127デフォルトの名無しさん
2016/04/17(日) 10:06:01.60ID:nI0SpfGGコレクションめっちゃ使うとこ限定してる
0128デフォルトの名無しさん
2016/04/17(日) 10:20:25.04ID:Uucl3Aamあれはよく使ってる
SQL文ぽい記述が出来るというやつは全く使ってない
0129デフォルトの名無しさん
2016/04/17(日) 10:21:07.15ID:Uucl3Aam0130デフォルトの名無しさん
2016/04/17(日) 11:15:43.05ID:p60JV/JL("titie:aiueo" or "title:sage") and "size:100GB"
のような文字列からデータの絞込を行うにはどうしたらよいでしょうか
or や and の予約語は特になんでもいいです。
検索で絞込されるデータはclass Data{ String title;long size;} のようなクラスのオブジェクトで
"title:aiueo" だとtitleプロパティから部分一致
"size:100GB" だと、100GBの値を100*1024*1024*1024でbyteにしてsizeプロパティと比較
のようにキーワードごとに独自の処理をしたいです。titleも完全一致とか部分一致とか
色々検索しているのですが、「c# or and 検索 絞込」で検索してもいい結果が見つかりませんでした
0131デフォルトの名無しさん
2016/04/17(日) 11:32:56.84ID:0eC2/V+0逆ポーランド
0132デフォルトの名無しさん
2016/04/17(日) 12:01:29.94ID:JjiAKXsf式木を組み立てて
コンパイルして
述語型に変換して
Selectするだけ
簡単でしょ
0133デフォルトの名無しさん
2016/04/17(日) 13:28:02.05ID:vB/UVa4U0134デフォルトの名無しさん
2016/04/17(日) 14:44:48.65ID:fOrpnRrn0135デフォルトの名無しさん
2016/04/17(日) 14:56:57.70ID:908wDZaf>>132の機能を生成するパーサジェネレータてのがある
0136デフォルトの名無しさん
2016/04/17(日) 17:12:29.64ID:pNxxVrcAUCS-2の範囲内に無い文字がある場合に
エラーメッセージを出したいのですが,
どう文字を判定すればよろしいでしょうか
0137デフォルトの名無しさん
2016/04/17(日) 19:13:46.95ID:0eC2/V+0UCS"の範囲の定義は?
サロゲート部分除外したいだけならその領域使ってるかチェックする
指定したフォントにグリフがあるかないかならGetGlyph通るかチェックする
0138デフォルトの名無しさん
2016/04/17(日) 21:09:13.99ID:p60JV/JLhttp://qiita.com/moonmile/items/269295ad5758fa69d203
このあたりを参考にMSTestのプロジェクトを既存のソリューションに追加したのですが、
(テストしたい既存のcliアプリのプロジェクトをA、今追加したMSTestのプロジェクトをBとします)
まずBの参照にAを追加するのは解ったのですが、Aのprogramクラスはアクセス修飾子が無かったり、programクラスの中にはprivateクラスがいくつかあります。
この状態だとBからアクセス出来ないと思うのですが、どうすればよいでしょうか。
テストのために、テスト対象のクラスAを全部publicなり、広いアクセス修飾子にする必要があるのでしょうか
環境はvisual studio2015のCommunityエディションです
0139デフォルトの名無しさん
2016/04/17(日) 21:10:29.70ID:p60JV/JLありがとうございます、パーサジェネレータならなんとか使えそうかなと思いましたが
CSharpScriptで手抜きしました・・・
0140デフォルトの名無しさん
2016/04/17(日) 22:12:13.19ID:9Xi8HI5hPrivateObject
0141デフォルトの名無しさん
2016/04/18(月) 01:38:26.53ID:sLfK0f0v拡張メソッドを積極的に使うのはあり?
例えばベクトルを作るとしてVectorとVectorMathの組み合わせで作って変だと思う?
0142デフォルトの名無しさん
2016/04/18(月) 01:41:08.51ID:+GTfw1f8double[] ポイント = {5,3,8}
このような状態でメンバとポイントの添え字はリンクさせたまま
ポイントの中身によって大きい順にソートさせるにはどのようにすれば良いのでしょうか
0143デフォルトの名無しさん
2016/04/18(月) 02:40:34.32ID:F3CARxII0144デフォルトの名無しさん
2016/04/18(月) 04:10:17.26ID:hKs91YAgArray.Reverse(ポイント);
Array.Reverse(メンバ);
0145デフォルトの名無しさん
2016/04/18(月) 06:41:50.13ID:f0IQ1wqIなし
拡張メソッドかどうかコードの字面からは読み取れないんだから意味がない
無駄なコピーが発生して遅くなるだけ
0146デフォルトの名無しさん
2016/04/18(月) 08:08:17.92ID:IYDXP0mw状態を変える関数はインスタンスメソッドに
状態を変えない関数は拡張メソッドに
分けるのは有かもしれんね。
0147デフォルトの名無しさん
2016/04/18(月) 12:10:18.91ID:Vq/5RQ4u短くて意味が明確で無駄な状態の少ないエレガントなコードになる
0148デフォルトの名無しさん
2016/04/18(月) 12:22:10.08ID:f0IQ1wqIどうしてもインスタンスの内容を変更しない操作であることを明示したいんなら
拡張メソッドではない普通のstaticメソッドにするべきじゃない?
0149デフォルトの名無しさん
2016/04/18(月) 12:29:29.65ID:f0IQ1wqI読み取り専用プロパティをメソッドにしてしまうと、副作用のある操作なのかどうかかえって区別がつかなくなる
プロパティは特別扱いするとして、その基準はどうするの?
0150デフォルトの名無しさん
2016/04/18(月) 12:43:45.14ID:EIGJjtgg拡張メソッドに全部抜き出すのもありだと思うけど。
継承のオーバライドによって見通しが悪くなる場合、拡張メソッドでのオーバーロードにしておくと見通しがよくなる場合がある。
場合によりけり。
0151デフォルトの名無しさん
2016/04/18(月) 13:02:01.83ID:IYDXP0mw0152デフォルトの名無しさん
2016/04/18(月) 16:58:17.45ID:uP2QUaPy新規に「windowsサービス」追加して
serviceinsralletのプロパティ変更するだけでいいのでしょうか?
0153デフォルトの名無しさん
2016/04/18(月) 21:19:11.40ID:jZBdSOf9ちなみにユーザーが入力したら行が増える動作はデフォのままでお願いします
0154デフォルトの名無しさん
2016/04/18(月) 21:20:28.01ID:jZBdSOf90155デフォルトの名無しさん
2016/04/18(月) 22:10:24.06ID:XvUiGo1Wメソッドの説明に書いておけば良いと思うけど。
フォーマットに則って書けばIDE上で説明文がポップアップするし。
0156デフォルトの名無しさん
2016/04/18(月) 22:10:24.45ID:9hrBV0EcIOExceptionのMessageオプションを見る以外に何か方法ってありますか?
0157デフォルトの名無しさん
2016/04/18(月) 23:00:02.71ID:sLfK0f0vもしライブラリを公開すなら、C#の値型の扱いや拡張メソッドについて丁寧な説明がいりそうね
面倒くせー!
0158デフォルトの名無しさん
2016/04/19(火) 04:01:51.80ID:gWOhS/GA自作のライブラリでわざわざ拡張メソッドで実装する理由がわからん
0159デフォルトの名無しさん
2016/04/19(火) 09:16:10.93ID:3GiFGQP4サイトの解説などをみてていまいちよくわからんのですが、
データベースとかいろいろ広範囲に使われてるアタッチですが、
EventHandlerにアタッチする
とはどういうことなんでしょう
0160デフォルトの名無しさん
2016/04/19(火) 09:50:22.08ID:vZEuQPxPイベントハンドラの場合は追加or登録or購読と訳す方が一般的か?
0161デフォルトの名無しさん
2016/04/19(火) 12:23:07.57ID:MjZ/o2WC0162デフォルトの名無しさん
2016/04/19(火) 12:49:54.41ID:59XXYy6/MSDNでの購読例
https://msdn.microsoft.com/ja-jp/library/ff921131.aspx
0163デフォルトの名無しさん
2016/04/19(火) 13:15:12.31ID:3gmE0sDU自作のライブラリでもインターフェースに拡張メソッド実装することとかはありそうだけどね
0164デフォルトの名無しさん
2016/04/19(火) 19:58:50.91ID:gRgyiYwEこれだけはnon-nullがある言語がうらやましい
0165デフォルトの名無しさん
2016/04/19(火) 21:14:29.27ID:iptYg0Ry今更だけど、ベクトルだったら状態は変更できないようにするのがいいと思う
今はgetだけのプロパティ作れるようになって簡単に作れるし
0166デフォルトの名無しさん
2016/04/19(火) 21:21:13.50ID:560ecuyq複数のハンドラーが設定できるなら追加でもいいかと
一般的には登録でいいと思う
購読は Subscribe の和訳なんだろうけど予約購読のことで申し込んでおくとイベントが配信されるイメージなのかなぁ
日本語としてはあまり使わないと思う
0167デフォルトの名無しさん
2016/04/19(火) 21:36:09.12ID:ofgJD1Ns発売から結構経ってて第4版が出そうで
なかなか手が出せない
0168デフォルトの名無しさん
2016/04/19(火) 21:37:17.69ID:18lMfaYE0169tasukete
2016/04/19(火) 21:54:12.30ID:spYNmTFF■DataSet/DataAdapterの仕様
DataAdapter には、SELECT、UPDATE、INSERT、DELETEのSQL文が設定できます。
Fillメソッドを実行するとSELECTのSQL文の基づいてDataSetにデータを読み込みます。このときDataSetの各行には「編集なし」のマークがついています。
値を更新するとそのマークが「更新済」、削除すると「削除済」、データを追加すると「追加済」のマークに変わります。
Updateメソッドを実行すると、DataSetの各行のマークに応じて、設定してあるUPDATE、INSERT、DELETEのSQL文を実行します。
0170tasukete
2016/04/19(火) 21:54:51.77ID:spYNmTFFDataAdapterのFillメソッドで取得したDataSet内のDataTableに対して、
挿入/更新操作をかけていき、全ての処理が終わったら、UPDATEを行う。
その際、DataTableに挿入した順番でDBへの挿入SQLが流れてほしい。
0171デフォルトの名無しさん
2016/04/19(火) 21:55:28.70ID:spYNmTFFDataTable^ tbl;//←DataAdapterのFillメソッドで取得したDataSet内のDataTableだとします
while(10000行程度ループ){
DataRow^ tg_row = tbl->Rows->Find(ループ毎に変わる値);
if( static_cast<DataRow^>(tg_row)==nullptr){
DataRow^ row = tbl->NewRow();
row["hogehoge"] = ループ毎に変わる値;
tbl->Rows->Add(row);//←★★★★★★初期挿入★★★★★★★
}
else{
row["hogehoge"] = ループ毎に変わる値;
}
}
上記のソースで5000行のレコードが出来たと仮定します。
※つまり"ループ毎に変わる値"の重複が半分あったということ
この状態でUPDATEを行うと、
なぜか、初期挿入した順番通りにinsert文が発行されません。
※DB上で見ると順番がごちゃまぜです
0172デフォルトの名無しさん
2016/04/19(火) 21:55:46.63ID:spYNmTFFなぜ、初期挿入した順番通りにinsert文が発行されないのでしょうか?
tbl->Rows->Findで取得したレコードの値を変更すると順番が変更になってしまうのでしょうか?
■質問�A
初期挿入した順番にinsert文が発行されようにするには、
どの様にしたら良いでしょうか?
解決策をご教授下さい。
0173デフォルトの名無しさん
2016/04/19(火) 21:58:17.34ID:18lMfaYE変更フラグ調べて対応するコマンドを実行で出来るよ
0174デフォルトの名無しさん
2016/04/19(火) 22:08:45.35ID:spYNmTFFご回答ありがとうございます。
「変更フラグ調べて対応するコマンドを実行」とは具体的にどのように行うのでしょうか?
「ソートして」はselectメソッドで出来そうですが。。
0175デフォルトの名無しさん
2016/04/19(火) 22:10:10.36ID:BW352Iu7うん。ゲーム向けということもあって
当初は一部で直接的な状態変化を許すようにしたかったんだけど、
ここのスレで考え直して不変性で行くようにしたわ
0176デフォルトの名無しさん
2016/04/19(火) 22:15:13.64ID:jOKPCoVDForm画面一杯に円を描画したいんですが、Formと同じサイズにするとはみ出ます
はみ出ないように描画するためにはどうするんでしょうか?
0177デフォルトの名無しさん
2016/04/19(火) 22:37:54.89ID:g+zezqhN0178デフォルトの名無しさん
2016/04/19(火) 22:38:11.64ID:BSyvOmTa0179デフォルトの名無しさん
2016/04/20(水) 18:04:20.00ID:1NxpeD4K0180デフォルトの名無しさん
2016/04/20(水) 20:37:23.60ID:Wyg46U6+0181デフォルトの名無しさん
2016/04/20(水) 22:02:30.33ID:e1Pe6e6t今まで作った中で一番大きいプログラムは連番の画像をDLするようなツールで
規模にして2000行いくか行かないかくらいのアプリです
もう少し大きなアプリを作りたいという思いもあるんですが題材がなかなか見つかりません
何かいいスキルアップの方法ってないですか?
0182デフォルトの名無しさん
2016/04/20(水) 22:04:16.44ID:1OcdAU+S目的もなくダラダラやってても、無駄な時間を過ごすだけだと思うが。
0183デフォルトの名無しさん
2016/04/20(水) 23:05:37.65ID:mNDzLHec派遣で大手の開発に潜り込むとかはvisualstudio+c#の仕事多い気がする
フリーで請負やりたいってなったらjavascript+php+DBの求人多いね
ゲームならunity多いね
組み込みならまだc言語だね
たまになんでも出来る奴いるけど人生1回きりなので
どれかに絞らないと無駄になるね
0184デフォルトの名無しさん
2016/04/20(水) 23:42:55.98ID:wpi37QIO0185デフォルトの名無しさん
2016/04/20(水) 23:49:30.77ID:oj6NjU7C0186デフォルトの名無しさん
2016/04/21(木) 00:30:43.58ID:TAQ7ZexJ0187デフォルトの名無しさん
2016/04/21(木) 00:41:45.98ID:XUyGSZPy成果吸い上げ美味しいわ
0188デフォルトの名無しさん
2016/04/21(木) 10:20:04.06ID:4YMbhNff0189デフォルトの名無しさん
2016/04/21(木) 14:37:39.90ID:6glAyuzYファイル名に簡体字等が含まれている場合にはファイルの種類やアイコンが取得できないようです
どこをいじれば取得できるようになるでしょうか?
public IntPtr iIcon;は
public int iIcon;に修正済です。
http://www7b.biglobe.ne.jp/~whitetiger/cs/cs2005019.html
0190デフォルトの名無しさん
2016/04/21(木) 14:45:42.79ID:u3YeNO8Bファイル名ではなく拡張子を渡せばOK。
0191デフォルトの名無しさん
2016/04/21(木) 16:07:50.70ID:6glAyuzYありがとうございます。
具体的には何処をいじればいいでしょうか。
0192デフォルトの名無しさん
2016/04/21(木) 16:37:10.15ID:u3YeNO8B0193デフォルトの名無しさん
2016/04/21(木) 16:51:48.83ID:6glAyuzY当方の知識が乏しく申し訳ありません。
何とかAssocQueryStringでアイコンは取得できましたがファイルの種類が取得できません。
ファイルの種類もこれで可能でしょうか?
0194デフォルトの名無しさん
2016/04/21(木) 17:11:07.55ID:3rYhxZg6SHFILEINFOの2番目のメンバ
public IntPtr iIcon; は public int iIcon; の間違い
0195デフォルトの名無しさん
2016/04/21(木) 22:23:03.48ID:XUyGSZPyなんかイカすパッケージはないですかね?
0196デフォルトの名無しさん
2016/04/21(木) 22:45:55.77ID:eO4KH25yセッション終了時に必ずPOSTリクエストを送らなきゃいけないんですけど、
こういう場合ってDispose時に同期メソッドでPOSTするとまずいですかね?
重い処理だし例外とか面倒くさいけど、クラスの利用者側がクソでも確実に
終了する方法が思い付かないです...
0197デフォルトの名無しさん
2016/04/21(木) 23:16:44.32ID:yP6FvWlL老害ならダメと言うかもしれんが、別に良いんじゃね?
0198デフォルトの名無しさん
2016/04/21(木) 23:40:14.40ID:XUyGSZPyPOSTしないとどうなるかによるね
致命的ならDisposeでもなんでも使って終了させる
どうでもいいならログに警告吐いて終わり
0199デフォルトの名無しさん
2016/04/22(金) 02:25:19.85ID:2O2AFXWqCloseされてないときだけDisposeでやるようにする
それでDisposeに問題が発生するとしても、明示的にCloseしない利用者の責任ってことで
0200デフォルトの名無しさん
2016/04/22(金) 08:15:05.87ID:iECKWrH4フレームワーク的にやるのが筋だろ
ASP.NET MVCならアクションフィルタとか
0201デフォルトの名無しさん
2016/04/22(金) 08:43:13.25ID:2EQFG1P2public void DoSomething(Action<IToilet> unko) {
using(var toilet = Toilet.Open()) {
unko.Invoke(toilet);
toilet.Flush();
}
}
}
0202デフォルトの名無しさん
2016/04/22(金) 09:13:23.16ID:cftYZ2jVちゃんとセクション毎にタブで文字の字下げしないひと嫌い
0203デフォルトの名無しさん
2016/04/22(金) 09:41:07.51ID:9S1lJb0Y書き込み用にわざわざ全角スペに変換するならインデントいきたままに見せれるけど
コピペのとき邪魔になるわな
0204デフォルトの名無しさん
2016/04/22(金) 09:43:28.96ID:2EQFG1P20205デフォルトの名無しさん
2016/04/22(金) 09:57:00.19ID:mQXcsQi9>unko.Invoke(toilet);
はunko(toilet);って表記じゃダメなの?
0206デフォルトの名無しさん
2016/04/22(金) 10:54:52.81ID:qVJQkB7k?.使うならInvoke必須。
0207デフォルトの名無しさん
2016/04/22(金) 10:59:36.45ID:cftYZ2jVなんか、すごく汚いね
0208デフォルトの名無しさん
2016/04/22(金) 16:44:55.96ID:2oPwrKOXたとえば配列の中身が3000件とかなると、スクロールして目的のインデックスまで
えらい時間がかかるのですが、何かいい方法あるのでしょうか
0209デフォルトの名無しさん
2016/04/22(金) 17:03:15.87ID:IxR/zQ/00210デフォルトの名無しさん
2016/04/22(金) 18:46:50.13ID:Q2FR8u3x0211189
2016/04/22(金) 19:28:54.07ID:KP5eSs7K[DllImport("shell32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbSizeFileInfo, uint uFlags);
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
private struct SHFILEINFO
これで簡体字等がファイル名に含まれていても正常にアイコンとファイルの種類が取得できました。
0212デフォルトの名無しさん
2016/04/22(金) 19:36:47.23ID:mQXcsQi9サンクス、この表記でスレッドセーフにもなるとか便利なもんだな
0213デフォルトの名無しさん
2016/04/22(金) 19:57:45.03ID:qVJQkB7kスレッドセーフになるのか。
それは知らなかったw
逆にありがとう。
0214デフォルトの名無しさん
2016/04/23(土) 11:33:22.03ID:hd+Xs9LW+にして折りたたんでいるのがいつの間にか開いてるんだけど、これどーにかならないの?
0215デフォルトの名無しさん
2016/04/23(土) 16:23:35.92ID:YertDzF3だれが開いてるのかね
0216デフォルトの名無しさん
2016/04/23(土) 20:23:11.71ID:PVRMM1xg各テストメソッドにコンストラクタとデストラクタのようなものを仲介させることはできますか?
例えば、データベースに接続する、切断する手続きをテストメソッドの外に出して共通化したいです。
できれば、テストを全てを実施した時はメソッド事にコネクションを作るのでなく、1度だけコネクションを作って、使い回して欲しいです。
0217デフォルトの名無しさん
2016/04/23(土) 20:34:36.92ID:jg2YTAuPどこ情報だよ?
0218デフォルトの名無しさん
2016/04/23(土) 20:38:41.52ID:jg2YTAuPTestInitialize
TestCleanup
0219デフォルトの名無しさん
2016/04/23(土) 20:40:52.87ID:qxH0rFYn>>217
誤解させたかも知れないけどnullチェックの部分がスレッドセーフになるってことね
Null 条件演算子 (C# および Visual Basic)
https://msdn.microsoft.com/ja-jp/library/dn986595.aspx
null 条件メンバー アクセスの別の用途は、はるかに少ないコードのスレッド セーフな方法でデリゲートを呼び出すことです。従来の方法には、次のようなコードが必要です。
0220デフォルトの名無しさん
2016/04/23(土) 23:56:32.96ID:XhOpS8Qbコネクションを使いまわすと、あるテストの結果が他のテストに影響を与える可能性があるから、できれば避けた方が良いかと。
0221デフォルトの名無しさん
2016/04/24(日) 11:43:25.04ID:RNhCJQSkリポジトリパターンを採用すれば簡単にモック化できるけど
アーキテクトが三流の弊社じゃリポジトリパターンなんて使わせて貰えないよ
0222デフォルトの名無しさん
2016/04/24(日) 15:33:43.49ID:32bdvmlM「はじめての C# 実演編」とか「プログラムの作成・実行」のリンク踏むと落ちるんだけど俺環?
0223デフォルトの名無しさん
2016/04/24(日) 15:37:35.66ID:t17Hjq39どんなサイトだろうと落ちるは無いわ
0224デフォルトの名無しさん
2016/04/24(日) 15:42:32.68ID:32bdvmlM0225デフォルトの名無しさん
2016/04/24(日) 15:48:26.89ID:RNhCJQSk0226デフォルトの名無しさん
2016/04/24(日) 15:54:30.54ID:32bdvmlM火狐とchromeで試したら開けたわ
IEが逝ってたのか
0227デフォルトの名無しさん
2016/04/24(日) 15:56:21.23ID:YOklMNkcスペック不足かと・・・
PCでも若干遅いからスマホだと落ちそうだね
スマホのブラウザ少し重いページ見たらすぐ落ちるし
0228デフォルトの名無しさん
2016/04/24(日) 15:56:59.45ID:YOklMNkc0229デフォルトの名無しさん
2016/04/24(日) 18:24:44.67ID:/Ix23UGp0230デフォルトの名無しさん
2016/04/26(火) 06:09:31.85ID:m6pT4p30よう俺
0231デフォルトの名無しさん
2016/04/26(火) 08:55:12.39ID:2zUAWFoa一番最初の「空のプロジェクト」「コードファイル」の作り方がわかりません
バージョン2015にはそれらしいものが見当たらないのですが、代わりの物はあるでしょうか?
0232デフォルトの名無しさん
2016/04/26(火) 09:19:51.43ID:2zUAWFoa他の教本のサンプル読んで自己解決しました
クラシックディスクトップの中にありました
0233デフォルトの名無しさん
2016/04/26(火) 12:12:53.06ID:lzhld+yA0234デフォルトの名無しさん
2016/04/26(火) 17:06:04.60ID:SU38uK/80235デフォルトの名無しさん
2016/04/26(火) 19:41:00.70ID:x4xkNVQ3async awaitで書けないんですか?
1000個ファイル作ってく進捗をn件みたいな感じで出すなんてよくあるパターンだとおまうんですが
0236デフォルトの名無しさん
2016/04/26(火) 19:46:37.65ID:6sXX5nQBあなたの能力が足りないなら無理でしょうけど?
0237デフォルトの名無しさん
2016/04/26(火) 20:35:36.27ID:0j8xrCyf0238デフォルトの名無しさん
2016/04/26(火) 21:33:06.44ID:vOcY6jqZ0239デフォルトの名無しさん
2016/04/27(水) 00:37:00.23ID:Zxi3ItRPobject[]に変換して取得する便利なメソッドなどは.NETで定義されているでしょうか
System.Reflection.MethodBase.CurrentMethod()はTypeの類としてのMethod情報は取得できるのですが
Runtimeな情報を持っていないようです。。。
0240デフォルトの名無しさん
2016/04/27(水) 00:40:15.83ID:Pvz0UkFG0241デフォルトの名無しさん
2016/04/27(水) 03:10:47.69ID:zeKGUe5Fそれ、paramsと何も変わらんでしょ
0242デフォルトの名無しさん
2016/04/27(水) 07:54:52.10ID:ZeWhf8Z3インライン展開もあるし
0243デフォルトの名無しさん
2016/04/27(水) 09:38:00.13ID:n1S/lS7j0244デフォルトの名無しさん
2016/04/27(水) 09:40:19.30ID:Q4nmbzLI0245デフォルトの名無しさん
2016/04/27(水) 11:07:02.81ID:j2/jLmeH言いたいことは分かるが逆の意味にしか見えない
0246デフォルトの名無しさん
2016/04/27(水) 11:29:24.29ID:Q4nmbzLI入れちゃいかん→入れにゃいかん
だった
0247デフォルトの名無しさん
2016/04/27(水) 18:28:00.81ID:Qfg6RrFcみんなが気持ちよく使えるように柔軟なobjectを使うべき
これが社会人の気配りだよ
0248デフォルトの名無しさん
2016/04/27(水) 18:40:52.55ID:H7sHgUMeどうせ型をobjectにしてるだけでそこに意図しないもんぶち込んだら動かない物になるだろうから迷惑だ
0249239
2016/04/28(木) 00:45:39.20ID:Wd++AcfF0250デフォルトの名無しさん
2016/04/28(木) 00:56:39.37ID:1iNMguiohttp://www.ne.jp/asahi/nami/mei/cstips/methodlog.html
こういうのやりたいの?
0251デフォルトの名無しさん
2016/04/28(木) 01:11:13.46ID:5qqXmSTaうちの会社じゃ現役レベルだけど・・・
0252デフォルトの名無しさん
2016/04/28(木) 04:45:15.76ID:gCHyBdgz0253デフォルトの名無しさん
2016/04/28(木) 07:16:30.07ID:8v/mHBGd便利も何もこれだけじゃん。
可変長で引数受け取って、そのまま返すとかあるじゃん。
脳みそ死んでんのか?
0254デフォルトの名無しさん
2016/04/28(木) 15:21:22.85ID:+8Cbdz2TArrayListも使ってる?
0255デフォルトの名無しさん
2016/04/28(木) 15:37:42.93ID:mT51gl12Parallel.Forで並列をしてるんですが大量に出力を追加してると
固まってしまいましてこれってどうすれば固まらなくなるのでしょうか?
開始してすぐにアプリが動かなくなるようです。。
再現できるソースを添付しますのでよろしくお願いします。。
int 開始 1000000000;
int n=0;
var task = Task.Factory.StartNew(() =>
{
Parallel.For(開始,終了 , o, (L) =>
{
n++;
this.Invoke(new Action(() =>
{
追加.Text = n.ToString(
0256デフォルトの名無しさん
2016/04/28(木) 15:40:35.01ID:mT51gl12すいません・・間違えました。
int 終了 1000000000;
int 開始 0;
int n=0;
var task = Task.Factory.StartNew(() =>
{
Parallel.For(開始,終了 , o, (L) =>
{
n++;
this.Invoke(new Action(() =>
{
追加.Text = n.ToString("");
}));
}));
}));
0257デフォルトの名無しさん
2016/04/28(木) 16:44:42.26ID:xvzDSrFYTaskで別スレッドにしようとも逐一UIスレッドInvokeしてたらビジー状態になります
各処理がそれなりに時間の掛かる処理ならまだしも、インクリメントだけでは。
一定の時間や処理数、あるいは最後に纏めるとか…でもまず手段より目的を書きましょう
ちなみにParallel処理をCPUでパフォーマンスを出すには工夫が要ります、大抵はGPU向き
0258デフォルトの名無しさん
2016/04/28(木) 17:01:21.21ID:k1aARqjb0259デフォルトの名無しさん
2016/04/28(木) 17:54:42.68ID:mT51gl12レスありがとうございます。
最後にまとめると確かに問題ないのですが状況を知りたいということもあって
できればループ中にヒット数を知りたいということがあります;;
それ以外にもThread.Sleepを追加してやるとスレッドがUI側に渡るのか動くようになる
みたいなんですが速度が変わってしまいました;;
目的なんですが配列に固めた数値をParallelで回して
別のメソッドにその配列を渡してforループし条件に
ヒットしたらその配列の数値を出力
してヒット数追加ということをやってます。
候補数が少なければいいのですが多い場合に仰るとおり
ビジー状態になってしまうようで困り果ててました;;
0260デフォルトの名無しさん
2016/04/28(木) 18:08:26.61ID:QO5R0H3G表示更新は別にやっとく
0261デフォルトの名無しさん
2016/04/28(木) 18:13:46.51ID:k1aARqjb* 並列度をコア数よりやや少ない程度にする
* RxのSampleを使って1秒に1回しかInvokeしないようにする
0262デフォルトの名無しさん
2016/04/28(木) 18:17:16.27ID:k1aARqjb○Invoke内の処理をしないようにする
Sample後のスレッドをUIスレッドに設定しておけばInvokeは要らんね
0263デフォルトの名無しさん
2016/04/28(木) 18:45:24.52ID:mT51gl12レスありがとうございます。
表示更新は別というはどういうことでしょうか?
スレッドを立ててそこに表示処理を任せるとかかな・・・
それとも最後にまとめた変数を一気に表示ということでしょうか?
>>261-262
レスありがとうございます。
RxのSampleは初めて聞きました!!
これって別に秒数を取得できるんですね。
少し勉強してみます。
0264デフォルトの名無しさん
2016/04/28(木) 20:22:10.53ID:mT51gl12試してみました。固まらず圧倒的なパーフォマンスが出せるようになりまして
すごく満足しました。 ありがとうございました。
0265デフォルトの名無しさん
2016/04/29(金) 02:31:10.78ID:4zpSkGz3Parallel.Forで回す処理ってスレッドセーフじゃなくても良いのか?
0266デフォルトの名無しさん
2016/04/29(金) 02:39:36.31ID:KTo4+e4h0267デフォルトの名無しさん
2016/04/29(金) 19:16:56.91ID:291NvS8MPCにもwifiがついていますが同じようにできるんでしょうか?
windowsのパソコンに付属の何かをつけないと無理かな。
チャットを作ってみたい
言語はC#でつくるのかjavaかも気になります
0268デフォルトの名無しさん
2016/04/29(金) 19:39:52.63ID:oh8iFBx2チャットなんかクラウド経由でいいじゃん
WifiDirectなんかメリットないよ
0269デフォルトの名無しさん
2016/04/29(金) 19:49:19.51ID:291NvS8Mネットを介さないで直接チャットとかしたい。LAN繋いでできるってのでもいいです。
IPメッセンジャーとかそれかな
0270デフォルトの名無しさん
2016/04/29(金) 20:10:19.43ID:x1MzXwKq同じAPに繋がってるなら普通にTCPのクラサバ型でいけるよ
0271270
2016/04/29(金) 20:17:49.07ID:x1MzXwKqTCPでやるならASP.NET MVCでチャットアプリ(というかWebサイト)作ってどれか一台で動かし、
他はそれにWebブラウザでアクセスするのがいいんじゃないかな
今更クラサバの作り方なんか勉強するよりよっぽど役に立つし
0272デフォルトの名無しさん
2016/04/30(土) 07:46:23.25ID:F0T7cXa9{
public int sum(int x, int y)
{
return x + y;
}
}
class ClassB
{
public double sum(double x, double y)
{
return x + y;
}
}
こういうふうに、二つのクラスに同じような関数が有る場合、
C++だと例えばテンプレートを使ったクラスを一つ作っておいて、
型を指定してインスタンスを作成すれば、intやdoubleの引数に対してそれぞれ計算ができますよね。
C#ではこういうよく似たクラスを1つにまとめるにはどうすれば良いですか?
0273デフォルトの名無しさん
2016/04/30(土) 07:49:26.05ID:WMIrR8lOttps://msdn.microsoft.com/ja-jp/library/twcad0zb.aspx
0274デフォルトの名無しさん
2016/04/30(土) 08:16:37.21ID:F0T7cXa9さっそく試してみたのですがジェネリックというやつだと、
public T sum(T x, T y)
{
return x + y;
}
のようにすると足し算の所でエラーが出ました。
解決方法ありますか?
0275デフォルトの名無しさん
2016/04/30(土) 08:34:31.00ID:WMIrR8lOttps://social.msdn.microsoft.com/Forums/vstudio/ja-JP/35465afc-e85d-4b18-8473-6f9d2a1f76be/generics-?forum=csharpgeneralja
0276デフォルトの名無しさん
2016/04/30(土) 09:02:58.06ID:F0T7cXa9情報ありがとうございました。
でも私には難しくて良く理解できません。
困りました。
0277デフォルトの名無しさん
2016/04/30(土) 09:24:32.26ID:9crtSSeOフォーム右上付近に、親フォームに戻るための「戻る」ボタンを配置してるのですが、
子フォームを最大化で呼び出して開いたときにそのボタンが消えてしまいます
ボタンが見えずに戻れなくなるのですが、一度最大化を解除してあげれば
設計時に配置した位置に表示され、それ以降最大化してもちゃんと表示されます
ちなみにボタンのAnchorはTopとRightに設定しています
どうも初回のフォーム表示時(WindowState=Maximied)にだけ見えなくなるようなのですが、
なにか考えられる原因はありますでしょうか
0278デフォルトの名無しさん
2016/04/30(土) 09:33:27.53ID:UynIvCxeありがとうございます難しい
0279デフォルトの名無しさん
2016/04/30(土) 10:32:12.27ID:JvmktRtU遅くなるから乱用は禁物だぞ
static void Main(string[] args)
{
Console.WriteLine("int = " + func(1, 2));
Console.WriteLine("double = " + func(1.0, 2.0));
}
static T func<T>(T a, T b)
{
return (T)((dynamic)a + (dynamic)b);
}
0280デフォルトの名無しさん
2016/04/30(土) 10:57:52.86ID:cHcfbDPSジェネリックの制約に静的要素も追加されればいいのにね
0281デフォルトの名無しさん
2016/04/30(土) 11:09:27.32ID:TLHkn7smpublic static readonly NumericOperations<T> Default = Tに応じて派生クラスのインスタンスを作成();
public abstract T Add(T x, T y);
public abstract T Subtract(T x, T y);
以下略
}
みたいなヘルパーを用意すればいいよ
実装はExpressionで自動生成もできるけど、どうせintとdoubleくらいなんだから手書きでいい
っていうかそもそもdoubleだけでいいと思うけどね俺は
0282デフォルトの名無しさん
2016/04/30(土) 12:49:56.62ID:n7hI6rwd特殊化の実装はよ
0283デフォルトの名無しさん
2016/04/30(土) 12:50:04.21ID:F0T7cXa9>>279
うまくいきました。
>>281
>どうせintとdoubleくらいなんだから手書きでいい
本当は、int, doubleではなくて、
別に二つのクラスがあり、それらを与えたいのです。
少し試してみましたが、こういうジェネリックの手法ではコンストラクタに引数を与えることが出来ないようですね。
C++のようには行かないのですね。
0284デフォルトの名無しさん
2016/04/30(土) 12:54:02.50ID:wAp13XKy0285デフォルトの名無しさん
2016/04/30(土) 13:53:12.40ID:uVz81x78みたいな、BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenant(純粋P2Pのファイル共有ソフト)の完成が待ち遠しいプログラミングできないアスペルガーw
1
0286デフォルトの名無しさん
2016/04/30(土) 14:07:23.28ID:rWvqva/J独自のクラスで演算子オーバーロードしてんの?
数学チックなことやってたりしないなら普通にメソッドで書いたほうがいい
メソッドで書いたらdynamic使うとかアホみたいなことしなくて済むし
0287デフォルトの名無しさん
2016/04/30(土) 14:19:54.60ID:F0T7cXa9演算子はあまり関係有りません。
272の例では演算子が出て来ましたが。
本当の状況はClassAやClassB中に似たようなメソッドがたくさんあります。
それらは
ClassAはClassAAを使って書かれていて、ClassBはClassBBを使って書かれていて、文字AAをBBに入れ替えれば全く同じメソッドになります。
そう言うのをスッキリ書きたいんですが。
0288デフォルトの名無しさん
2016/04/30(土) 15:13:16.39ID:ayXNqxnF馬鹿は死ね
0289デフォルトの名無しさん
2016/04/30(土) 20:58:53.70ID:WhJaImcQこれって読み込み先では使えないですよね?
イマイチ意味を理解できていません
0290デフォルトの名無しさん
2016/04/30(土) 21:00:41.32ID:nHwI9s9gこの板の行数はそれを書くには狭すぎるって風でもないし?
コード書く手間の方が多かったように思う
0291デフォルトの名無しさん
2016/04/30(土) 21:02:23.93ID:53v3uYu30292デフォルトの名無しさん
2016/04/30(土) 21:03:08.54ID:nHwI9s9g使えるよ
Stringもpublic sealedクラスだ
詳しくはここ
https://msdn.microsoft.com/en-us/library/6tcf2h8w.aspx
0293デフォルトの名無しさん
2016/04/30(土) 21:04:28.47ID:53v3uYu3コードが似てるからまとめたソースを書く奴は雑魚
一生かけても俺に追いつけない(確定)
0294デフォルトの名無しさん
2016/04/30(土) 21:12:23.98ID:n7hI6rwdsealedは自動でメモリバリアを張ってくれるようになるキーワードの事だよ
よく使うから覚えておいて
0295デフォルトの名無しさん
2016/04/30(土) 21:24:08.80ID:53v3uYu3他人に質問しなきゃわからんようなコードで「すっきり」書くのは構わんけどさ
他の人間に対する思いやりとか優しさとか全部ゴミ箱にぶち込むようなことしてっと
いつか痛い目見るぜ
掲示版での質問の仕方もそういうとこ出てる
0296デフォルトの名無しさん
2016/04/30(土) 21:40:22.88ID:cmpbEuEGさすがにそれは共通部分を括り出したりインターフェースを使ったりして抜本的に設計し直せとしか答えようがない
通常の方法でうまくやれないならそもそもやろうとしていることが間違っているのではないかと疑う癖を付けたほうがいい
0297デフォルトの名無しさん
2016/04/30(土) 22:27:42.03ID:cHcfbDPSC#は文字列の扱い簡単なんだし、さくっとコード生成プログラムを書けばいいじゃん
0298デフォルトの名無しさん
2016/04/30(土) 23:32:53.00ID:AJmJIQ8j>sealedは自動でメモリバリア
参考になるURL教えれ
0299デフォルトの名無しさん
2016/04/30(土) 23:39:30.68ID:D8eH/sC30300デフォルトの名無しさん
2016/04/30(土) 23:58:51.35ID:rWvqva/J0301デフォルトの名無しさん
2016/05/02(月) 10:53:44.18ID:FDPPvimu/**/
形式のコメントを書くと勝手に
/*
*
*
*/
のように自動的にアストリスクが入るのを禁止出来ますか?
0302デフォルトの名無しさん
2016/05/02(月) 11:44:36.87ID:nFOHZVjF0303デフォルトの名無しさん
2016/05/02(月) 11:47:37.27ID:FDPPvimuそれで良いのでやり方教えて
0304デフォルトの名無しさん
2016/05/02(月) 11:51:13.04ID:nFOHZVjF0305デフォルトの名無しさん
2016/05/02(月) 11:52:21.62ID:FDPPvimuさっそく試してみます。ありがとうございました。
0306デフォルトの名無しさん
2016/05/03(火) 19:32:06.86ID:G9XEXQGeBitTorrent(Covenant)が活発な情報交換・交流コミュニティでオープンソース開発されています(プログラマー募集中)
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise氏)がそういう人と話したいそうなので、よろしければツイートお願いします<(_ _)>
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできない情報発信好きアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
4
0307デフォルトの名無しさん
2016/05/03(火) 19:35:17.17ID:PQ3d4MP7死ね
0308デフォルトの名無しさん
2016/05/03(火) 20:04:59.57ID:Ga2JkeKtc++なら簡単だがc#だと難しい。出来なくはないが。
0309デフォルトの名無しさん
2016/05/04(水) 03:28:30.74ID:blim022Lを
var dict = new Dictionary<string, string>()
{
{ "りんご", "100円" },
{ "バナナ", "200円" },
{ "みかん", "300円" }
};
こんなふうにしたいのですがやり方が分かりません。
LINQで出来ると思うのですが、誰か教えて下さい。
0310デフォルトの名無しさん
2016/05/04(水) 03:36:29.74ID:1XkW7VLg正規表現で(.+)\((\d+円)\)でMatchを見るとかじゃない?
0311デフォルトの名無しさん
2016/05/04(水) 07:28:46.87ID:0yOS8YjHvar list = new List<string>() {
0312デフォルトの名無しさん
2016/05/04(水) 07:41:12.50ID:blim022L勘です
0313デフォルトの名無しさん
2016/05/04(水) 07:49:31.55ID:IRRLVIf20314デフォルトの名無しさん
2016/05/04(水) 07:50:54.49ID:tqRiG+el>>310はstringの値段を数値として切り出すようなこと言ってるし、
>>309はLINQとか言ってるし、
「こんなふうにしたい」って言われても俺アスペだから何したいのか分からね
0315デフォルトの名無しさん
2016/05/04(水) 09:04:18.64ID:c7vIrIvG0316デフォルトの名無しさん
2016/05/04(水) 09:18:02.12ID:Z89K0usy0317デフォルトの名無しさん
2016/05/04(水) 09:32:21.97ID:N/RwPJUBほれ
var dict = new Dictionary<string, string>();
var list = new List<string>() { "りんご(100円)", "バナナ(200円)", "みかん(300円)" }.Select( x => new { row = x.Split( new char[] { '(', ')' } ) } );
foreach( var item in list )
{
if( item.row.Length > 1 )
dict.Add( item.row[0], item.row[1] );
}
foreach( var kv in dict )
Console.WriteLine( kv );
0318デフォルトの名無しさん
2016/05/04(水) 09:53:31.88ID:blim022Lありがとうございました。
.Select( x => new { row = x.Split
こういうテクニックがなかなか思いつきません。勉強になりました。
0319デフォルトの名無しさん
2016/05/04(水) 09:57:53.20ID:/hVZH15i0320デフォルトの名無しさん
2016/05/04(水) 10:11:49.11ID:Mk4V6hyN0321デフォルトの名無しさん
2016/05/04(水) 10:23:24.55ID:foGbZYeo0322デフォルトの名無しさん
2016/05/04(水) 10:43:51.05ID:Mk4V6hyN「それでもLINQなら…LINQならきっと何とかしてくれる…」
みたいな間違った期待は禁止したくはなるな
LINQ使えばかっこいい、と思っているのならそれも勘違いで
回答者が納得した >>317 も、(書いた人はわざとかもしれないが)
ToDictionary 使えばLINQ一発ですむところを foreach 入れたりして
かえってダサくなってる
結局 foreach 使うなら Split も foreach 内でいいだろ、という
0323デフォルトの名無しさん
2016/05/04(水) 10:46:52.46ID:c7vIrIvG0324デフォルトの名無しさん
2016/05/04(水) 10:51:15.29ID:Mk4V6hyN×回答者 →○質問者
だった… 俺も十分ダサいなw
0325デフォルトの名無しさん
2016/05/04(水) 11:23:51.23ID:N/RwPJUBlistの中に何が入ってくるか分からないなら
var list = new List<string>() { "りんご(100円)", "バナナ(200円)", null, "みかん(300円)", "" };
var dict = list.Where( x => x != null ).Select( x => new { row = x.Split( new char[] { '(', ')' } ) } )
.Where( x => x.row.Length > 1 ).ToDictionary( key => key.row[0].Trim(), value => value.row[1].Trim() );
foreach( var kv in dict )
Console.WriteLine( kv );
だな
0326デフォルトの名無しさん
2016/05/04(水) 12:15:55.65ID:IHDYpsAXlist.ToDictionary($0.foo , $0.bar)
みたいな構文導入されねえかな
あと識別子の前方一致ルックアップ
li.ToDict($0.f , $0.b)
この辺c#は頭固い
0327デフォルトの名無しさん
2016/05/04(水) 12:23:13.86ID:c7vIrIvG0328デフォルトの名無しさん
2016/05/04(水) 12:33:04.49ID:IHDYpsAX0329デフォルトの名無しさん
2016/05/04(水) 13:22:02.38ID:Z+vBdcSH0330デフォルトの名無しさん
2016/05/04(水) 14:37:09.05ID:Z89K0usy0331デフォルトの名無しさん
2016/05/04(水) 20:41:04.06ID:1Z9f5mj5実現方法思いつかんけど
0332デフォルトの名無しさん
2016/05/04(水) 23:58:50.99ID:jwHd+Yjd0333デフォルトの名無しさん
2016/05/05(木) 01:57:04.03ID:u+lL52mGここでほざいてないでissue出してこいよ
せっかく受け付けてんだから
0334デフォルトの名無しさん
2016/05/05(木) 14:29:42.65ID:nzEy2CvZアイデンティティと結びつく場所で恥をかいたら取り返しがつかない
どんどん恥をさらすべき
0335デフォルトの名無しさん
2016/05/05(木) 17:49:45.10ID:UJ65kEPwまたアイツかって空気出しておいた方が仕事やりやすいよ
0336デフォルトの名無しさん
2016/05/05(木) 18:01:58.10ID:UJ65kEPw0337デフォルトの名無しさん
2016/05/05(木) 20:22:22.42ID:fknk/t2B田舎もんばっかりだなここ
0338デフォルトの名無しさん
2016/05/05(木) 21:12:30.14ID:vt8xrt14田舎もんばっかりだなここ(涙)
0339デフォルトの名無しさん
2016/05/05(木) 21:16:34.60ID:fknk/t2B涙拭けよ
何があったか知らないけどそのうちいいことあるさ
0340デフォルトの名無しさん
2016/05/05(木) 21:19:04.05ID:nzEy2CvZ0341デフォルトの名無しさん
2016/05/05(木) 22:59:03.04ID:WWv6suKclinq使いこなせればかっこいいだろ。
君は使えないのか。
0342デフォルトの名無しさん
2016/05/05(木) 23:06:09.87ID:RRigIFMtあんま表現方法増やさんでくれと言いたい
0343デフォルトの名無しさん
2016/05/05(木) 23:46:46.15ID:UJ65kEPwコストが減ったりクオリティが上がったりするのかそれ
0344322
2016/05/06(金) 01:41:11.26ID:Bx356Ku9「使う」と「使いこなす」は違う
そんな無理やりにいちゃもんつけんでも…
LINQに限らず「使いこなせれば」かっこいいでしょ、何でも
自分は「使いこなす」ほどLINQに詳しいわけではないけど
便利だと思うから、使いたいときには使う
ただ、>>317 のコードは、ちょっと使いかたがおかしいと思っただけ
0345デフォルトの名無しさん
2016/05/06(金) 06:28:48.57ID:EWJlwe/Z0346デフォルトの名無しさん
2016/05/06(金) 12:21:33.86ID:Evd1x/+Zどういう審美眼してんだろうね
0347デフォルトの名無しさん
2016/05/06(金) 12:25:21.80ID:xraBhkzcdelegate時代は読んでて辛かったから今の表記は楽でいいわ
0348デフォルトの名無しさん
2016/05/06(金) 12:51:56.10ID:+GWd+pPGお前ら賢いんだろ
大目に見てやれ
0349デフォルトの名無しさん
2016/05/06(金) 13:09:11.76ID:b+5YqGKq同じようなループ構造大量生産してさあ
猿回しの猿かよ
永遠に回ってろよ
0350デフォルトの名無しさん
2016/05/06(金) 13:11:00.11ID:IJ4drMiKそもそもSQL自体DBに効率よくアクセスしつつ処理をするって利点ぬいたら
何がいいのかよくわからん
処理の途中経過が見えなくてデバッグしにくいし
完全オンメモリのデータにこんな処理する利点ってなんなの?
トランザクションぐらいははれるんだろか?
0351デフォルトの名無しさん
2016/05/06(金) 13:16:40.57ID:NaQoG1N+同じ処理を何度も手書きして大量生産するのをやめようぜってそれだけ
これに同意出来ない人はプログラミング向いてないと思う
0352デフォルトの名無しさん
2016/05/06(金) 13:21:05.30ID:IJ4drMiKそういう関数作ったら?
0353デフォルトの名無しさん
2016/05/06(金) 13:23:59.22ID:NaQoG1N+すでにあるものをまた作る必要は無い
車輪の再発明は趣味だけにしよう
0354デフォルトの名無しさん
2016/05/06(金) 13:25:21.08ID:IJ4drMiK設計が同じであるならまとめるのもいいが
コードが似てるからまとめるのは素人
0355デフォルトの名無しさん
2016/05/06(金) 13:27:36.73ID:IJ4drMiK0356デフォルトの名無しさん
2016/05/06(金) 13:28:17.35ID:wU41dGnvお前らプログラマみたいだな
0357デフォルトの名無しさん
2016/05/06(金) 13:37:29.21ID:NaQoG1N+この場合再利用の対象になるのはループ構造だがこれは似てるんじゃあなくて全く同じな
まあ趣味グラマにはわからないかもな
独りでやってると視点が固定化されて見えるものが見えなくなるのは仕方が無い
同じ設計というがこの設計に対するスケール感が固定化しちゃってる
0358デフォルトの名無しさん
2016/05/06(金) 13:39:26.12ID:Nj4Nzot+ひどいのになると、クラスなんて使うなレベルまでいくわけだが
0359デフォルトの名無しさん
2016/05/06(金) 13:40:59.36ID:IJ4drMiKそんなにプロ気取るならlinqで書くことによってコストは
プロジェクトあたりどのくらい減らせるのか数字出せや
設計やテストはそのままなんだよな?
減るのは実装コストだけだよな?
規模はお前に任せる
0360デフォルトの名無しさん
2016/05/06(金) 13:42:31.28ID:NaQoG1N+やれやれ
0361デフォルトの名無しさん
2016/05/06(金) 13:43:37.69ID:IJ4drMiKアレアレ逃げちゃうの?
プロなのに数字も出さずに?
0362デフォルトの名無しさん
2016/05/06(金) 13:52:49.44ID:wU41dGnv0363デフォルトの名無しさん
2016/05/06(金) 13:58:20.84ID:mDHRBrdZ0364デフォルトの名無しさん
2016/05/06(金) 14:15:31.25ID:TeP1vVRn正規表現くらい使ってもええんやでw
お前らこのlinqが許せるならrxも余裕で許せるよな
0365デフォルトの名無しさん
2016/05/06(金) 14:24:46.63ID:MaHvIWJSコードが似るのは設計が似ている場合もあるだろ。君も初心者なのか?
0366デフォルトの名無しさん
2016/05/06(金) 15:00:37.29ID:vLzuFhmzこの前ちょっとした改修のための事前調査で、他人(他企業)が書いたコードを読んでたんだけど。
数十行に渡って書かれてたコードを LINQ を使って書き直したら 2 行で終わったってのがあったなあ。。
この場合、元のよく分からないコードを
・解析する
・そのアルゴリズムに従って直す
・試験する
とやるわけだけど、2 行のコードを書くのに 1 分掛からなかったことを考えるとだいぶ早かったんじゃないかと。
LINQ のメソッドにバグがないと前提すれば 1/100 くらい?
単純に LINQ を使うかどうかだけじゃなくて、LINQ を使用する/しないコードをどれだけ分かりやすく
書く/書けるかって視点もないと議論にならんでしょ。どうして二元論に陥ろうとするのかわからん。
0367デフォルトの名無しさん
2016/05/06(金) 15:04:42.73ID:RJmD0Q8/linqでよく抽出するデータを汎用関数にするのなら別に同じlinqのコピペコードでいいよな。
置換すればいいのだし。
0368デフォルトの名無しさん
2016/05/06(金) 15:08:50.19ID:iaQX9thN好きに書けよと思うのだが・・・
0369デフォルトの名無しさん
2016/05/06(金) 15:10:06.31ID:PnkfllF2何の意味もないポジトーク駄文書き散らすのやめろ
お前の話なんか聞いてない
黙れ
死ね
0370デフォルトの名無しさん
2016/05/06(金) 15:19:58.53ID:vLzuFhmz0371デフォルトの名無しさん
2016/05/06(金) 17:37:50.69ID:EWJlwe/Zは?
コードが似てるのは「偶然」似てるだけ
それ以上の意味は存在し得ない
クソグラマはこんなのをこじつけてまとめようとするから
本来どうしたって生まれないはずの関連でソース中のクラスをがんじがらめにして
通常の10倍以上のバグを量産してプロジェクトを破綻に追い込む
0372デフォルトの名無しさん
2016/05/06(金) 18:10:30.67ID:tUfklDPaただ、ネットでコード調べたりすると、クエリ式が多いよね
メソッド形式で覚えたんだけど、クエリ式見るとまだアレルギーがでる・・・
そもそもメソッド形式に変換される?のに、なんでクエリ式で書くの?
linqがとっつきにくいのって、初心者が自分で調べてるとクエリ式とメソッド形式とバラバラで、
一貫して理解できないからなのかなとも思ってみたり
メソッド形式に絞って勉強したらとりあえず使えるようになってきたけど
実際プロの人たちはどっちで書くことが多いんだろう
0373デフォルトの名無しさん
2016/05/06(金) 19:34:48.82ID:vLzuFhmz最近使えるようになるまではどこで引っかかってたの?
自分は最近はコードを書くこと自体が減ってるから、使うときには忘れてることが多いけども
構文等に難があるかっていうとそんなでもないような気がする。
0374デフォルトの名無しさん
2016/05/06(金) 19:47:37.75ID:xraBhkzc0375デフォルトの名無しさん
2016/05/06(金) 19:57:56.21ID:aKKD8wpA0376デフォルトの名無しさん
2016/05/06(金) 20:22:19.02ID:Bx356Ku9LINQ各メソッドの機能やつながりを勉強するには
不向きなかんじ
0377デフォルトの名無しさん
2016/05/06(金) 20:54:36.27ID:S17UasgRクエリ形式だと不要
0378デフォルトの名無しさん
2016/05/06(金) 21:03:22.88ID:zjBSMT0G0379デフォルトの名無しさん
2016/05/06(金) 21:20:16.12ID:S17UasgRメソッド形式だと不要
0380デフォルトの名無しさん
2016/05/06(金) 22:23:23.81ID:dcRnXMUi任意のテキストボックスがあって、そこでCtrl+Vを押した時 クリップボードにファイルが入っていたら特別な処理をして、テキストが入っていたら(ファイル以外だったら)通常の処理をする という内容を指定したいです
今はICommandインターフェイスを実装したクラスに処理を書いているのですが、「デフォルトの処理を実行する」という方法がわかりません
また、特定のテキストボックスではなくウィンドウで全てのイベントをキャプチャするにはどうしたらよいでしょうか
上記の例ですと、テキストボックスが複数あるとその分だけInputBindingsを指定する必要があると思います
どこにフォーカスがあろうが、ファイルをコピーしてCtrl+Vが押されたら特定の処理を実行して欲しいです
0381デフォルトの名無しさん
2016/05/06(金) 23:18:15.78ID:zjBSMT0G後者は…?
KeyBindings(Ctrl+V)を無効化したユーザーコントロールを用意するくらいしか思いつかない
Behaviorうまく使えば何とかなるか?
0382デフォルトの名無しさん
2016/05/07(土) 01:08:01.46ID:LSQDcbaAショートカットなんて使わねぇよ
将来的にウィンドウに別のテキストボックスできたらどーすんだ?
って方向で設計担当者に立ち向かってみる
0383デフォルトの名無しさん
2016/05/07(土) 02:22:01.44ID:nxpPq96o後者については InputBindings を使わなくていいなら、
Window の OnPreviewKeyDown を override すれば取得できる。
0384デフォルトの名無しさん
2016/05/07(土) 02:23:30.18ID:4pl8OJx90385デフォルトの名無しさん
2016/05/07(土) 08:19:41.72ID:RxwzNpXYたくさんテキストボックス配置しても特定のファイルパス指定テキストボックスに入れてほしいんだろ
なんかできたもん微妙な気がするが使いたい奴がそう言ってるんじゃ仕方あるめぇ
0386デフォルトの名無しさん
2016/05/07(土) 10:15:13.66ID:Cf/p/ytb2000個の配列の中に数値はランダムで
0~50000までが降順で数値が入っています。
a[0]=32
a[1]=501
a[2]=809
a[3]=2320
※2000個配列要素の中身はランダムで数値決定されて
そのあとに降順でソートされているとします。
入力された数値によって配列の中からその数値を越えた配列要素を
一個だけ探したいのですが
例
300だったらa[1]=501を返却したい。
総当りで求めると時間がかかるので総当り以外で
なにか方法ってないものなんでしょうか?
0387デフォルトの名無しさん
2016/05/07(土) 10:18:46.39ID:hF2eza1Iバイナリサーチ
0388デフォルトの名無しさん
2016/05/07(土) 10:37:29.18ID:F+tGf+lP0389デフォルトの名無しさん
2016/05/07(土) 10:37:29.81ID:Cf/p/ytbありがとうございます! こんな方法があったとは目からウロコです。
感謝!!
0390デフォルトの名無しさん
2016/05/07(土) 11:06:07.07ID:c4WBtv5a自分に返事とか、かわえー
0391デフォルトの名無しさん
2016/05/07(土) 14:25:23.65ID:RxwzNpXY50001のテーブル用意
0392デフォルトの名無しさん
2016/05/09(月) 19:06:22.95ID:Y6hEXWCMこの「,」を「AA,BB,CC」のように、文字列と文字列の間に
それぞれ1つのみにしたいのですが
文字列をfor文で一文字づつ分解して評価する方法以外
存在しないでしょうか?
長いコードを書けば実現できるとは思いますが
綺麗なテクニックがあればお聞かせ頂きたく
0393デフォルトの名無しさん
2016/05/09(月) 19:11:55.32ID:fY2PaEWl置換すればおk
これはrubyだけど
0394デフォルトの名無しさん
2016/05/09(月) 19:13:10.94ID:fY2PaEWl'AA,,,,,,,,BB,,,,,,,,,,,,,,,,,,,,,CC'.gsub(/,+/,',')
こういうふうにC#でもできるはず
0395デフォルトの名無しさん
2016/05/09(月) 19:28:36.72ID:q+LSywObカンマでSplit(空は省略するオプション指定)してから、カンマを区切り文字に指定してString.Join
0396デフォルトの名無しさん
2016/05/09(月) 19:32:40.00ID:q+LSywOb0397デフォルトの名無しさん
2016/05/09(月) 19:57:20.99ID:PinuZEz9Regex.Replace
0398デフォルトの名無しさん
2016/05/09(月) 20:37:50.57ID:w12jvKq/png画像にしたいのですが、そういう事ってできるんでしょうか
0399デフォルトの名無しさん
2016/05/09(月) 20:40:40.61ID:emSIVqoSフックしないとできなかったはず
素直に自分でコントロール作る方が楽
0400デフォルトの名無しさん
2016/05/09(月) 20:43:15.38ID:1+MHuDTv日立
0401デフォルトの名無しさん
2016/05/09(月) 20:48:14.33ID:Y6hEXWCMrubyではそんな書き方ができるのですね
C#でも同等のことができるか調べてみます
また whileで",,"が無くなるまでloopする方法も
なるほどと思いました
参考にさせて頂きます
ありがとうございます
0402デフォルトの名無しさん
2016/05/09(月) 20:49:25.29ID:w12jvKq/そうなのですか・・
自分で作る方法を勉強してきます
0403デフォルトの名無しさん
2016/05/10(火) 01:35:07.81ID:dBbkrjVX0404デフォルトの名無しさん
2016/05/10(火) 17:38:47.15ID:vVT3Tded違う点とかあるの?
0405デフォルトの名無しさん
2016/05/10(火) 17:45:18.41ID:i2NiGU0y0406デフォルトの名無しさん
2016/05/10(火) 18:22:20.28ID:dSTHfeAa0407デフォルトの名無しさん
2016/05/10(火) 18:29:25.55ID:vVT3Tded0408デフォルトの名無しさん
2016/05/10(火) 19:05:09.84ID:xogIu31G0409デフォルトの名無しさん
2016/05/10(火) 20:10:41.85ID:/YnlUfB50410デフォルトの名無しさん
2016/05/10(火) 21:56:10.19ID:uAV2Alwm0411デフォルトの名無しさん
2016/05/10(火) 22:55:16.00ID:vVT3Tded偶然ってあるんだなぁ
0412デフォルトの名無しさん
2016/05/10(火) 23:24:44.83ID:zcty1mXPいや VS に馴染んでると違和感が大きくて。
言語自体はその場で修正程度なら出来る感じだったな。全く知らなかったけど。
0413デフォルトの名無しさん
2016/05/10(火) 23:28:36.53ID:uAV2Alwm0414デフォルトの名無しさん
2016/05/11(水) 01:12:02.62ID:QYTGiiFpEclipseは嫌いじゃないけどVSのほうが圧倒的に使いやすいし分かりやすいんだよな
うまく作られてるよVSは
0415デフォルトの名無しさん
2016/05/11(水) 01:18:32.33ID:QYTGiiFpGUI関係はだいぶ違う印象だな
JavaよりC#のほうが好きだけどJava SwingでGUI構築も俺は結構好きだな
ただ、VSでC#のほうが圧倒的に楽
あとJavaのGUIはSwingが将来廃止されてJavaFXのみになるらしい
0416デフォルトの名無しさん
2016/05/11(水) 02:03:52.56ID:0PRak8L10417デフォルトの名無しさん
2016/05/11(水) 03:02:11.32ID:oBgW12c50418デフォルトの名無しさん
2016/05/11(水) 06:13:38.38ID:udOmff2fvsはサクサク動くから気分がいい
0419デフォルトの名無しさん
2016/05/11(水) 10:25:22.87ID:NoSGj+Yf0420デフォルトの名無しさん
2016/05/11(水) 16:39:23.50ID:aNXXbD7u0421デフォルトの名無しさん
2016/05/12(木) 00:17:51.83ID:70ECQFiFVSのソリューションとかプロジェクトに当たる概念がないから
VSみたいにソリューションファイルをダブルクリックして開くとかできないのが
俺には一番のカルチャーショックだったな。
VB Script使ってVSみたいにできるようにして使ってたけど。
あの意味不明な仕様考えた奴はバカとしか思えない。
0422デフォルトの名無しさん
2016/05/12(木) 00:23:02.59ID:TsTbSQKuソリューションに相当するのはワーキングセット
ダブルクリックとかどうでもいいわ
0423デフォルトの名無しさん
2016/05/12(木) 01:38:12.56ID:DTpkzCZR最近はプレアデスって言うのがある
簡単に日本語環境のEclipseを構築できる
0424デフォルトの名無しさん
2016/05/12(木) 08:54:25.72ID:fCvBOT9J0425デフォルトの名無しさん
2016/05/12(木) 12:11:06.73ID:CaB2KfNO0426デフォルトの名無しさん
2016/05/12(木) 21:53:08.52ID:0vHqTKcQttp://devlights.hatenablog.com/entry/20070129/p1
Form1にDataGridViewSample01を置いて
> > public class DataGridViewSample01 : BaseForm
を
public class DataGridViewSample01 : Form1 とした場合
>>public DataGridViewSample01() : base("DataGridViewSample01"){
と
>>protected override void InitializeComponents(){
がエラーなのですがどう変えたら動くようになりますか
0427デフォルトの名無しさん
2016/05/12(木) 23:19:15.00ID:d1fAaxfa>public DataGridViewSample01() : base("DataGridViewSample01"){
を
public DataGridViewSample01() {
に変える
> protected override void InitializeComponents(){
を
protected override void OnLoad(EventArgs e) {
に変える
0428デフォルトの名無しさん
2016/05/12(木) 23:45:40.53ID:0vHqTKcQありがとうございます。
baseは消してよさそうな気がするけどで止まっていたので助かりました。
0429デフォルトの名無しさん
2016/05/13(金) 08:50:39.49ID:VaDZ5Gj+public class City
{
public int Id { get; set; }
public string Name { get; set; }
}
public List<City> Cities1
{
get
{
return new List<City>
{
new City {Id = 1, Name = "東京"},
new City {Id = 2, Name = "大阪"},
};
}
}
下のように簡略化しても良いと思うのですが、
public List<City> Cities2 = new List<City>
{
new City {Id = 1, Name = "東京"},
new City {Id = 2, Name = "大阪"},
};
あえて上のようにCities1を定義する理由は何ですか?
0430デフォルトの名無しさん
2016/05/13(金) 09:06:53.78ID:JgZYMqN/防御的コピーってやつだろ
ググれ
0431デフォルトの名無しさん
2016/05/13(金) 11:26:17.25ID:2M+Eb1Xi0432デフォルトの名無しさん
2016/05/13(金) 11:33:19.88ID:JE/elaCB0433デフォルトの名無しさん
2016/05/13(金) 12:32:00.29ID:WpW+Ihch0434デフォルトの名無しさん
2016/05/13(金) 12:49:28.34ID:+kAg+hF40435デフォルトの名無しさん
2016/05/13(金) 12:50:28.09ID:uAwX4DdS0436デフォルトの名無しさん
2016/05/13(金) 14:20:33.41ID:BL7Q/j7pWCFは今でも勉強する価値はありますか?
0437デフォルトの名無しさん
2016/05/13(金) 14:30:16.17ID:dtejGJwzぐぐる技術かな。「チャットソフト 作成 C#」とでもググっとけ
0438デフォルトの名無しさん
2016/05/13(金) 14:33:18.56ID:sdyl18Cl0439デフォルトの名無しさん
2016/05/13(金) 15:12:35.43ID:2vJ5B0u+クラウド上で集中管理して、新しい投稿があったら端末にプッシュで知らせて、端末側が新しい投稿を取りに行くのが今風
モバイルへのプッシュはAWSとかAzureのようなメジャーどころのクラウドプラットフォームであればサービスとして提供されてるから、
それを呼び出すだけ
0440デフォルトの名無しさん
2016/05/13(金) 15:39:30.96ID:BL7Q/j7pなるほど。
あれは端末に内容を送りつけているのではなく、通知だけして自分で取りに行くんですね。
もう少し調べてみます。
0441デフォルトの名無しさん
2016/05/13(金) 19:52:57.73ID:obLTuM3wC++のDLLのコードの最適化を無効にすると正常に動作します
デバッガーで値を見たり、printfするとC++上ではfalseなのが分かりますが
C#で何故かtrueに変わります
Mono for Windowsで実行すると同じDLLでも別になんとも無いです
P/Invokeを直接ではなくGetFunctionPointerForDelegateを使ってC用の関数ポインタに変換してDLL側から呼ばせてます
0442デフォルトの名無しさん
2016/05/13(金) 20:10:42.31ID:obLTuM3wどうしてそうなったのか、C#だとboolは4バイトらしいです
なぜmonoだと動いたのかとかが謎ですが
0443デフォルトの名無しさん
2016/05/13(金) 20:44:28.39ID:nNpoX6iS本来はメソッドにするのが適切だろうね
0444デフォルトの名無しさん
2016/05/13(金) 21:40:12.42ID:1AUZCN0QやさしいC#で扱ってたよ
0445デフォルトの名無しさん
2016/05/13(金) 21:48:12.22ID:IdJK0+I2いや、普通はフィールドに保持するものだろ
コンストラクタなどで生成して、後は同じものを返す
0446デフォルトの名無しさん
2016/05/13(金) 22:47:54.48ID:vXI1M0hm普通のプロパティならそうだから
>>430 が必要で >>429 みたいにするなら
プロパティじゃなくてメソッドにするほうが誤解を生まない
という話では
0447デフォルトの名無しさん
2016/05/13(金) 23:06:47.90ID:VMbrfWJo本当にどうでもいい話だが、>>443の彼が >>433に同調しているようなレスの仕方で
実は中身をガン無視しているのが気になった
0448デフォルトの名無しさん
2016/05/14(土) 02:37:20.85ID:KQ1iJEXCミュータブルなインスタンスを動的に作成して返すならメソッドの方が実態に合ってる。
ただそれだけの話。
それ以前に>>429はインスタンスメンバーである必要もないな。
0449デフォルトの名無しさん
2016/05/14(土) 13:28:07.99ID:NZBm77d6それかVisualSutudioでc#プロジェクトを描くようにJavaを書けるプラグインとかでもいいです
0450デフォルトの名無しさん
2016/05/14(土) 14:10:07.13ID:Y6m1wwwoAndroid?
Xamarinじゃだめなのか
各CPU用の.NETのVMをアプリに入れるけど
C#でアプリ書けるじゃん
0451デフォルトの名無しさん
2016/05/14(土) 16:32:37.79ID:LZRTi4UGぐぐりゃすぐ見つかるだろ。使いもんにはならないだろうがw
ttp://www.tangiblesoftwaresolutions.com/Free_Editions.html
0452デフォルトの名無しさん
2016/05/15(日) 13:07:02.75ID:khl3Rfdn例えば
string test =
0453452
2016/05/15(日) 13:10:30.80ID:khl3RfdnC#で変数の中の文字列を変数名として使ったりすることはできないでしょうか?
例えば
string test = ”a”;
string test2 = ”test”;
MessageBox.Show(test2);
このようにするとメッセージボックスにはtest2の中身である”test”が表示
されるわけですけど、このtest2の中身”test”を変数名として認識し、”a”を
返させるといったことはできませんか?
0454デフォルトの名無しさん
2016/05/15(日) 13:20:23.65ID:Q0jJd4WtString.formatなどを使え
嫌ならPerlやPHPやRuby使え
0455デフォルトの名無しさん
2016/05/15(日) 13:45:17.59ID:Xu9I5TQeひょっとして:Dictionary
ttp://ideone.com/fEXznp
0456デフォルトの名無しさん
2016/05/15(日) 13:45:33.94ID:5m+W2gKwClassのメンバーなら、Type.GetField()とかを駆使すれば出来ないこともないけど面倒。
目的が良く分からないけど、Dictionary<Key,Value>()とか使えば事足りそう。
0457デフォルトの名無しさん
2016/05/15(日) 13:48:37.93ID:tn7B8Zgrclass c { static string test2 = "aaa"; }
(string)typeof(c).GetField("test2", BindingFlags.NonPublic | BindingFlags.Static).GetValue(Null);
0458デフォルトの名無しさん
2016/05/15(日) 13:59:05.37ID:/AvRgVLO0459デフォルトの名無しさん
2016/05/15(日) 14:11:25.92ID:pPdxIbS60460デフォルトの名無しさん
2016/05/15(日) 14:19:19.16ID:3VffbDcEstring test = ”a”;
string test2 = $”{test}”;
MessageBox.Show(test2);
という書き方はできる
0461デフォルトの名無しさん
2016/05/15(日) 14:27:01.15ID:TUc+uary0462デフォルトの名無しさん
2016/05/15(日) 14:57:57.99ID:0MfW+/JU普通はGetFieldなんて使わずDictionaryなりを使うべきか
0463デフォルトの名無しさん
2016/05/15(日) 14:58:24.92ID:AhilAPgi何んでそんな技知っている?
誰に聞いた?
0464デフォルトの名無しさん
2016/05/15(日) 15:16:34.83ID:5m+W2gKw「C#6.0 新機能」とかで調べりゃいくつも出てくるじゃん。
0465デフォルトの名無しさん
2016/05/15(日) 15:32:53.22ID:TvAURktQ0466デフォルトの名無しさん
2016/05/15(日) 15:34:59.09ID:KZDSbRgsstring y = "ああああ";
var formatted = string.Format("({0}, {1})", x, y);
var formatted6 = $"({x}, {y})";
補完文字列(https://msdn.microsoft.com/ja-jp/library/dn961160.aspx)
前者のやりかたで01234を一致させないアホが多すぎて実装されたらしい
0467デフォルトの名無しさん
2016/05/15(日) 15:39:59.42ID:AhilAPgi知ってるならdictionary使うなんていう変な方法教えるなよ
0468デフォルトの名無しさん
2016/05/15(日) 15:49:42.17ID:CWTJE2hBアホっていうか序数依存は普通に読みにくいからな
0469デフォルトの名無しさん
2016/05/15(日) 15:55:03.21ID:tn7B8Zgrこの方法で変数名動的に変えれるのか?
0470デフォルトの名無しさん
2016/05/15(日) 15:56:00.94ID:5m+W2gKw>>460って、
string test1="a";
string test2=string.Format( "{0}", test1);
MessageBox.Show( test2 );
と等価。
質問者(>>453)のやりたいこととは異なる気がするけど?
0471453
2016/05/15(日) 16:31:23.59ID:khl3Rfdnやりたいことはcsvファイルの整理です。
題名,x項目1,x項目2,x項目3, ... ,x項目x
y項目1,値1-1,値2-1,値3-1, ... ,値x-1
.
.
.
y項目y,値1-y,値2-y,値3-y, ... ,値x-y
こういうcsvファイルがあって、”[題名][x項目x][y項目y]=値x-y”といった
イメージで変数に格納したいと考えていました。
このとき題名、x項目x、y項目yを変数展開?で参照できると便利だと思い453のような質問をした次第です。
とにかく皆さんの回答を参考にさせてもらおうと思います。
0472デフォルトの名無しさん
2016/05/15(日) 16:44:30.34ID:KZDSbRgs問題なのは改行入れてる池沼とか文字コードが混在してる時
そっちの方が手を焼く
0473デフォルトの名無しさん
2016/05/15(日) 17:16:09.53ID:rAupQhGbアクセス方法を関数化した方が使い回しが効くと思わないか?
0474デフォルトの名無しさん
2016/05/15(日) 21:00:13.28ID:+0AxdIbL許されるんだから、想定しとかなきゃいかんだろう。
csvとiniは、こんな風に簡単に考えて適当な実装する奴が多いのが問題なんだよな。
まともにcsv扱う能力がない奴は素直にtsv使っとけ。
0475デフォルトの名無しさん
2016/05/15(日) 21:46:32.87ID:5Mbyy+Hz本も古いのしかないし、この板のスレも過疎ってるしもうオワコンなのか
はたまた常識になりすぎて語る事もないのか。
C#で通信ソフトを作る際には今でも使われてる?
0476デフォルトの名無しさん
2016/05/15(日) 21:54:55.33ID:vKj11dB/通信ソフトというもの自体、Webへの移行が進んで用済みになりつつある
0477デフォルトの名無しさん
2016/05/15(日) 22:07:09.46ID:ql0Fb5M40478デフォルトの名無しさん
2016/05/15(日) 22:11:58.66ID:/AvRgVLO今月更新したばかりだし、まだまだ現役だと思うけど
https://msdn.microsoft.com/ja-jp/library/ms731067%28v=vs.110%29.aspx
0479デフォルトの名無しさん
2016/05/15(日) 22:47:16.69ID:HcO3BuMTscanf_s(" %d" &int);
で空白文字を挿し込むと、
空白(改行含む)を読み飛ばせるとあったのですが、
なぜ読み飛ばせるようになるんでしょうか?
0480475
2016/05/15(日) 22:51:09.78ID:5Mbyy+Hzオワコンということは無さそうですね。
ちょっと勉強してみます
0481デフォルトの名無しさん
2016/05/15(日) 23:11:25.70ID:llz61aSCスレチ
0482デフォルトの名無しさん
2016/05/16(月) 00:05:26.97ID:OVbXuDaH↓のようにデータをセットすればdataGridViewに表示されるますが
編集をするのにdataGridView1に操作でしか変更できないのでしょうか?
data_set;を配列の Arr[0][0] = "テスト変更" 等のように操作したいのですが
data_setから編集できるやりかたを教えてもらえないでしょうか
0483デフォルトの名無しさん
2016/05/16(月) 00:05:58.51ID:OVbXuDaHDataSet data_set = new DataSet("default_set");
// データテーブルの作成
DataTable data_table = new DataTable("default_table");
DataRow data_row;
// データテーブルをデータセットに登録
data_set.Tables.Add(data_table);
// データテーブルにカラムを作成・登録
data_table.Columns.Add("テスト1", Type.GetType("System.String"));
data_table.Columns.Add("テスト2", Type.GetType("System.String"));
//DataRow data_row;1件目
//// データ行の作成とテーブルへの登録 その1
data_row = data_table.NewRow();
data_row["テスト1"] = "test1";
data_row["テスト2"] = "test2";
data_table.Rows.Add(data_row);
//DataRow data_row; 2件目
//// データ行の作成とテーブルへの登録 その1
data_row = data_table.NewRow();
data_row["テスト1"] = "test11";
data_row["テスト2"] = "test22";
data_table.Rows.Add(data_row);
// DataGridViewにデータセットを設定
dataGridView1.DataMember = data_set.Tables[0].TableName;
dataGridView1.DataSource = data_set;
0484デフォルトの名無しさん
2016/05/16(月) 00:30:08.87ID:OVbXuDaH自己解決しました。
0485デフォルトの名無しさん
2016/05/16(月) 23:55:33.39ID:OVbXuDaHやれるでしょうか?アドバイスお願いします。
List<List<int>> IntList = new List<List<int>>() {
new List<int>() { 1, 3, 5, 7, 9 },
new List<int>() { 2, 4, 6 },
new List<int>() { 3, 6, 9, 12, 15, 18 }
};
List<int> te = new List<int>();
List<List<int>> te2 = new List<List<int>>();
te = IntList[1];
te2[0].Add = te;//エラーになる
te = IntList[2];
te2[1].Add = te;//エラーになる
0486デフォルトの名無しさん
2016/05/17(火) 00:16:02.08ID:QkrZnxlb↑のイメージではなくても
IntList[0]以外をte2に渡したデータができればいいです。
0487デフォルトの名無しさん
2016/05/17(火) 00:39:04.70ID:kUx2c9fp0488デフォルトの名無しさん
2016/05/17(火) 00:47:25.53ID:aNPUJWkgList<int> te = new List<int>();
List<List<int>> te2 = new List<List<int>>() {
new List<int>(),
new List<int>()
};
te = IntList[1];
te2[0].AddRange(te);
te = IntList[2];
te2[1].AddRange(te);
foreach (var i in te2) {
foreach (var j in i)
Console.Write(j + " ");
Console.WriteLine();
}
0489デフォルトの名無しさん
2016/05/17(火) 00:48:47.53ID:xYFnjXX8つかメソッドに代入しようとすんなハゲ
0490デフォルトの名無しさん
2016/05/17(火) 06:46:45.33ID:QkrZnxlbめっちゃありがとうございます。
全然進んでなかったので助かりました。
けどハゲじゃねぇっすよ(´・ω・`)
0491デフォルトの名無しさん
2016/05/17(火) 10:34:59.30ID:ofQCFR8G優秀なプログラマはみんな禿げてる
0492デフォルトの名無しさん
2016/05/17(火) 11:19:45.88ID:h/ui0EWsvar IntList2 = new List<List<int>>(IntList);
ってコピーしてから
IntList2.RemoveAt(0);
で終わるのでは、何がしたいのかによるけども
0493デフォルトの名無しさん
2016/05/17(火) 14:01:14.86ID:exC1bKxBvar te2 = IntList.Skip(1).Select(list => list.ToList()).ToList();
0494デフォルトの名無しさん
2016/05/17(火) 15:34:40.92ID:FQL04H7Jいざアプリを作ろうとするとどのように設計していいのかわかりません
プレゼンテーション層、ビジネスロジック層、データアクセス層の
3つに分けて開発したらいいようですが、
説明を読んでも具体的な実例が少ないのでピンときません
どのような場合にプロジェクトを分けたほうがいいのか
どのようにフォルダを作ってクラスを分ければいいのか
例えばよく見るフォルダ名でCommon,Core,App,Extentionなどがありますが
どういう基準で分けているのかわかりません
Service,Provider,Strageなどの名前を持つクラスの活用方法も知りたいです
0495デフォルトの名無しさん
2016/05/17(火) 16:33:47.32ID:trwyiOHkC/C++のスレと間違えているんじゃね?
フォームごととか視認性のためにやるかもしれないが、C#でクラスわざわざ分割すると#includeできないから面倒なんだけど
0496デフォルトの名無しさん
2016/05/17(火) 19:35:20.97ID:xYFnjXX8まあ細かいことは気にせずとりあえず作れ
0497デフォルトの名無しさん
2016/05/17(火) 20:52:09.09ID:RlKtDUDw3層アーキテクチャはコードのフォルダ分けとかいうレベルの話じゃなくて物理的にマシンを分けるんだよ
0498デフォルトの名無しさん
2016/05/17(火) 21:11:52.38ID:hI9x+0vF0499デフォルトの名無しさん
2016/05/17(火) 21:57:23.85ID:T1MOyty20500デフォルトの名無しさん
2016/05/17(火) 22:16:13.47ID:08K9dCRT0501デフォルトの名無しさん
2016/05/17(火) 23:56:31.12ID:j6uH7voX笑うところか?
まさにアーキテクチャの話で、物理的にマシンがどうこうとか言うレベルの話じゃないんだけど
0502デフォルトの名無しさん
2016/05/17(火) 23:59:12.80ID:+eQXJ+130503デフォルトの名無しさん
2016/05/18(水) 00:02:07.70ID:w+KSd1T+設計の概念を理解できていないから
プロジェクト名、クラス名、メソッド名に糞みたいな名前がついていて
わかりにくいし、何度も修正してしまいます(データ構造も)
またある汎用的なクラスを使いまわしたいけど
同じく命名が下手過ぎてうまくできない
うまくクラス名を付けるための参考情報 - Qiita
http://qiita.com/KeithYokoma/items/ee21fec6a3ebb5d1e9a8
クラスの命名のアンチパターン - Qiita
http://qiita.com/magicant/items/8134edf969f9629fa66e
こういうところみてみたけど、説明が少なすぎて
例えばServiceは何をさせればいいのかわからない
何を学習すればこういうことができるようになるんですか?
何か学習の糸口になるキーワードか教材を教えてほしいんですが
0504デフォルトの名無しさん
2016/05/18(水) 00:08:00.32ID:4gnbiHZwそもそも分けたって個別に動かないくせに分けて書ける仕組みがいんない
0505デフォルトの名無しさん
2016/05/18(水) 00:13:07.89ID:w+KSd1T+プロジェクト名は
FileService
プレゼンテーション層から直接利用するビジネスロジックのクラスを
FilePropertyProvider
↑が以下の(データアクセス層?)クラスを利用して処理する
ドライブからファイル情報を取得するクラスを
FilePropertyStrage
ファイル情報をDBに保存取得するクラスを
FilePropertyDb
データアクセスオブジェクト
ファイル名やファイルサイズ、更新日時などのデータ(FileInfoみたいなもの)
FileProperty
今のところこんな感じにしているんですが、どうでしょうか
0506デフォルトの名無しさん
2016/05/18(水) 00:18:46.95ID:4gnbiHZwファイルのプロパティをDBに保存するクラス1つでええよ
0507デフォルトの名無しさん
2016/05/18(水) 00:25:00.19ID:4gnbiHZwたかがファイルのプロパティをDBに保存するぐらいで賑やか過ぎるw
家カレー作るのにシェフを五人ぐらい呼ばれた気分だわw
0508デフォルトの名無しさん
2016/05/18(水) 00:55:41.35ID:sqVLhSl8無駄に複雑になってるだけ
結局ファイルというものを抽象化できてない
0509デフォルトの名無しさん
2016/05/18(水) 06:28:42.55ID:mIb5QxnS0510デフォルトの名無しさん
2016/05/18(水) 06:30:24.84ID:mNmUFNJu自分なら…
プロジェクト名:FilePropertyCatalog
ビジネスロジック:FilePropertyOperator
情報取得:FilePropertyCollector
DB保存:FilePropertySaver
データ:FileProperty
…かなぁ
0511デフォルトの名無しさん
2016/05/18(水) 06:49:24.79ID:lSwuWkSb機能とクラスを対応させるのは一般的には良くない設計
この場合だとFilePropertyとFilePropertyRepositoryくらいでいい
0512デフォルトの名無しさん
2016/05/18(水) 07:02:37.87ID:sqVLhSl8ビジネス的な意味があるなら「ファイル」なんていう物理的な記憶媒体はどうでもよくて、
着目するべきはその意味の方
0513デフォルトの名無しさん
2016/05/18(水) 07:04:40.46ID:mNmUFNJuえ、そうなの?
俺よく機能で分けるけど
(そうすると機能の内部処理変更や使いまわしがやりやすい)
機能で分けるとどんな問題があるの?
0514デフォルトの名無しさん
2016/05/18(水) 07:25:56.98ID:4gnbiHZwDBに保存
ってコメントが見つから無かったら帰るわ
0515デフォルトの名無しさん
2016/05/18(水) 07:41:43.97ID:gN+xEulz多数のifやswitchで縦長になりテストが煩雑になりそうだと判断してから分ける
このときの分け方は、どうやってテストを簡単に実行できるかであって、機能とか意味とは少し違うね
0516デフォルトの名無しさん
2016/05/18(水) 08:41:42.00ID:b0AuFXa1典型的なダメなパターン
0517デフォルトの名無しさん
2016/05/18(水) 09:35:19.02ID:Zh0C6S2NプレゼンテーションをかりにFooとした場合の正解は
FileProperty
Create(FileInfo)
その他ビジネス要件に沿ったメソッド
ビジネス要件によっては別のモデルクラスも必要かもしれない
FilePropertyRepository
CRUD
FooViewModel
List<FileProperty> FileProperties
その他プレゼンテーションに必要なプロパティ
SearchingFooViewModelService
Find(Condition)
FooView
略
0518デフォルトの名無しさん
2016/05/18(水) 18:04:03.42ID:2yTxBPzkmain(){
Abc abc = new Abc();
abc.Abc();//もう一度実行したい場合、publicがついているのに呼べない!?
}
class Abc{
public void Abc(){
Console.Write(
0519デフォルトの名無しさん
2016/05/18(水) 18:07:40.00ID:2yTxBPzkmain(){
Abc abc = new Abc();
abc.Abc();//もう一度実行したい場合、publicがついているのに呼べない!?
}
class Abc{
public void Abc();{
Console.Write("ABC");
}
}
0520デフォルトの名無しさん
2016/05/18(水) 18:22:19.46ID:zSdrz5n4何度も実行するためのものじゃないし、明示的に呼び出すようなものでもない
すなおに別のメソッド用意しろよ
0521デフォルトの名無しさん
2016/05/18(水) 18:36:53.42ID:mNmUFNJuabc.Abc();って書き方がだめなんじゃね
newで初期化したあとそんな風に書けるメソッド他にあったっけ?
0522デフォルトの名無しさん
2016/05/18(水) 19:26:59.43ID:Dka6stHSそれはもう一度newするという事なのでは…
0523デフォルトの名無しさん
2016/05/18(水) 19:53:50.63ID:I9I0ln6y0524デフォルトの名無しさん
2016/05/18(水) 20:19:49.94ID:2yTxBPzk全然知らなかった、ありがとう
0525デフォルトの名無しさん
2016/05/18(水) 20:38:11.65ID:qtXCBRQ30526デフォルトの名無しさん
2016/05/18(水) 20:45:51.50ID:JnpGLRPs0527デフォルトの名無しさん
2016/05/18(水) 20:50:35.68ID:W9Cxd75i0528デフォルトの名無しさん
2016/05/19(木) 12:10:23.62ID:bO7Q53f50529デフォルトの名無しさん
2016/05/19(木) 12:25:11.69ID:gfPM9Qn30530デフォルトの名無しさん
2016/05/19(木) 12:29:39.73ID:qPBtdzH4スコープから外れるから無理じゃね
横着せずにsubにtry-catch入れたら
0531デフォルトの名無しさん
2016/05/19(木) 12:49:56.94ID:V46Tnl1A皆様のご意見非常に参考になりました
クラスを分割し過ぎるとよくないことがわかりました
これからも試行錯誤してきます
ありがとうございました
0532デフォルトの名無しさん
2016/05/19(木) 12:58:42.81ID:lsh+pmAq分割したほうがいいぞ
0533デフォルトの名無しさん
2016/05/19(木) 21:20:30.23ID:8ZBtwHcy0534デフォルトの名無しさん
2016/05/19(木) 21:58:52.58ID:WbwsAPBk0535デフォルトの名無しさん
2016/05/19(木) 22:12:51.23ID:kOvFNxqQちなみにアンチパターンだ
0536デフォルトの名無しさん
2016/05/20(金) 02:29:55.34ID:kQnNY3dBキャッチした例外オブジェクトのプロパティに色々有用な情報がある。
Exception.Message、Exception.StackTraceとか、例外の種類によってはException.InnnerExceptionとか。
0537デフォルトの名無しさん
2016/05/20(金) 08:34:38.02ID:fK4sx7tucatch の引数使ったことないのか?
0538デフォルトの名無しさん
2016/05/20(金) 09:33:57.87ID:JWEBZxoU0539デフォルトの名無しさん
2016/05/20(金) 11:33:03.25ID:EhSvJn9Sいつもforeachで要素を一個づつコピーしてるんだけど、もっといい方法ってあるんかな?
0540デフォルトの名無しさん
2016/05/20(金) 11:39:31.01ID:OvKiYs5X0541デフォルトの名無しさん
2016/05/20(金) 12:24:01.19ID:k6N5upEI0542デフォルトの名無しさん
2016/05/20(金) 12:30:27.35ID:Rsx1YZHcCopyToとか
Array.Copyとか
全部浅いコピーらしいけど
0543デフォルトの名無しさん
2016/05/20(金) 14:17:36.94ID:JWEBZxoU0544デフォルトの名無しさん
2016/05/20(金) 15:12:23.54ID:N/N3v//e0545デフォルトの名無しさん
2016/05/20(金) 15:42:48.48ID:adOvMsP+要素が必ず複製をサポートするとはかぎらないんだから
0546デフォルトの名無しさん
2016/05/20(金) 15:44:48.52ID:hKbQwGHF0547デフォルトの名無しさん
2016/05/20(金) 15:51:09.00ID:a3vf9lbl0548デフォルトの名無しさん
2016/05/20(金) 16:02:06.72ID:0SZSpLq/c/c++以外全て面倒という事か?
0549デフォルトの名無しさん
2016/05/20(金) 16:09:48.46ID:jSWvJnxOこれもクラス設計者の意図しないコピーされると困るからであって
0550デフォルトの名無しさん
2016/05/20(金) 18:26:51.40ID:QK39E4Gjこれだな
0551デフォルトの名無しさん
2016/05/20(金) 22:24:39.58ID:IxQ8LhP1コピー不可なオブジェクトが入ってる時まで話を飛躍させるなよ
シリアライズして戻すのが定石だろう
0552デフォルトの名無しさん
2016/05/20(金) 23:01:39.17ID:jMaMdq2h一般的に複製不可能なオブジェクトが入る可能性がある時点で
arrayのメンバに要素の複製までしてくれるメソッドを入れるのは無理ってこと
>>542に対してのレスだったつもり
0553デフォルトの名無しさん
2016/05/21(土) 21:30:51.67ID:XsZ0aPvQ//dataはList<int>ですでに数値が入っている
foreach(int i in data){
if(Linqで書くのが困難な複雑な判定) data.RemoveAt(i);
}
どうやりゃいいんだ!?
0554デフォルトの名無しさん
2016/05/21(土) 21:32:40.85ID:onlp9q3b0555デフォルトの名無しさん
2016/05/21(土) 21:35:23.10ID:FusMkK2d0556デフォルトの名無しさん
2016/05/21(土) 21:45:40.88ID:+tW7As3oラムダ式書いてLINQで使えば?
0557デフォルトの名無しさん
2016/05/21(土) 21:49:17.02ID:zSvCOHYPdata = data.Select(i => !(Linqではなんたらかんたら式)).ToList();
0558デフォルトの名無しさん
2016/05/21(土) 21:53:57.67ID:sqvY2QmOint i=0;while(i<data.Count){if (条件) data.RemoveAt(i); else i++;}
0559デフォルトの名無しさん
2016/05/21(土) 21:57:45.56ID:ANSuLlJzその特定の条件に「合わない」ListをLINQで作ればいいと思う
RemoveAt も内部的には新しい配列を作ってその参照を保持することになってると思うので、何度も RemoveAt するのは効率悪そう
0560デフォルトの名無しさん
2016/05/21(土) 22:08:29.64ID:Fd/2YMzS{
if(なんたらかんたら)
data.remove(i);
}
ToArray()で配列にコピーしてからループさせると、dataを破壊しても問題ない
つか、RemoveAtの引数がiじゃ不味いだろ
RemoveAtならforループ+インデックスでやらんと・・・
0561デフォルトの名無しさん
2016/05/21(土) 22:10:22.42ID:FusMkK2dと思うじゃなくてリファレンスソースくらい参照しろ
https://goo.gl/cgskC9
https://goo.gl/#analytics/goo.gl/cgskC9/all_time
0562デフォルトの名無しさん
2016/05/21(土) 22:27:08.98ID:XsZ0aPvQ0564デフォルトの名無しさん
2016/05/22(日) 08:57:46.17ID:2pnzlNOgこのページの下記部分でつまづいています。
だれか助けてください。
=====
このクラスをXAML名前空間とオブジェクト要素を使って定義したXAMLは以下のようになります。
<p:Person xmlns:p="clr-namespace:CustomXaml;assembly=CustomXaml" />
このXAMLをPerson.xamlという名前で作成して、埋め込まれたリソースに設定して読み込んでPersonクラスのインスタンスを取得してみます。
=====
ここを無視して、続きのProgramのコードを入力し、実行すると、
「var s」がNullのため、エラーとなります。
「Person.xaml」はProgramのコードから作成されると読解してましたが、
<p:Person xmlns:p="clr-namespace:CustomXaml;assembly=CustomXaml" />
を使って何かしなくてはいけないのでしょうか?
0565デフォルトの名無しさん
2016/05/22(日) 14:34:47.15ID:a/My2Jlp作成しろって書いてあんじゃん
var s = typeof(Program).Assembly.GetManifestResourceStream("CustomXaml.Person.xaml");
は読み取りの記述だ
0566デフォルトの名無しさん
2016/05/22(日) 16:44:07.53ID:D45CY0SCdata=data.Where(d=>{return 複雑な判定メソッド(d);});
0567564
2016/05/22(日) 17:09:10.68ID:2pnzlNOg>このXAMLをPerson.xamlという名前で"作成して"
Person.xamlの作成の仕方が間違っているかもしれません。
ソリューションエクスプローラー ⇒ 追加 ⇒ 新しい項目 ⇒ ユーザーコントロール(WPF)
の手順で Person.xaml を作成しています。
すると、Personクラスが2つになり、エラーが発生していまします。
0568デフォルトの名無しさん
2016/05/22(日) 17:25:39.39ID:DLTT1BoO次のコードを書きました。英数字のファイル名は文字化けせずに取得出来ているのですが
日本語(マルチバイト)のファイルは文字化けしてしまいます。
WEBサーバ上の文字コードが「utf-8」になっているのに
ローカルのWindows環境では「sift-jis」になっている事が
原因だと思いますが、どうすればこの文字化けを回避できますか?
ぐぐってますが、どうもこの様な事をしている人のサンプルブログが見つからず困っています。
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(path_delete_directory);
request.Credentials = new NetworkCredential(id, pass);
request.Method = WebRequestMethods.Ftp.ListDirectory;
StreamReader streamReader = new StreamReader(request.GetResponse().GetResponseStream());
string wk_str = streamReader.ReadLine();
while (wk_str != null)
{
wk_str = streamReader.ReadLine();
if (wk_str == null || wk_str.IndexOf("..") != -1)
{
continue;
}
string[] arr_wk = wk_str.Split('/');
string file_name = null;
file_name = arr_wk[1]; ← ここでWEBサーバ上のファイルが文字化けしてしまいます。
}
0569デフォルトの名無しさん
2016/05/22(日) 17:31:22.77ID:VlU9L/Nt列ヘッダを含むその列をselect状態にすることは出来るのでしょうか?
勿論イベントにてそういった処理が必要な場合ColumnHeaderSelectを
選択すれば出来るのですが、そうすると変更するときに1行目全部がselect状態に
なってから消えて列ヘッダを含むその列がselect状態になります。。
これでは無理だと判断したのでRowHeaderSelectのまま
列ヘッダを含むその列をselect状態にするしかないと思ったのですが
どうもうまくいかなくてなにかアドバイスがあればよろしくお願いします。
0570デフォルトの名無しさん
2016/05/22(日) 17:35:42.90ID:Y6WruITbストリートリーダー作っているところでencodingのshiftjis指定を追加するんじゃないか?
0571デフォルトの名無しさん
2016/05/22(日) 17:38:32.42ID:lKV7Y6J5試してないけど文字コード指定できないの?
StreamReader streamReader = new StreamReader(request.GetResponse().GetResponseStream(),System.Text.Encoding.GetEncoding(65001));
とか
0572デフォルトの名無しさん
2016/05/22(日) 17:40:00.83ID:Y6WruITb>なってから消えて列ヘッダを含むその列がselect状態になります。。
言ってることがよく分からんが、それだと何が問題なん?セレクト出来たんならいいんじゃないか?
0573デフォルトの名無しさん
2016/05/22(日) 18:16:55.51ID:VlU9L/Nt>>569です。
mode変更にてやった場合その行はセレクトしてないのにセレクト状態になるんです。
希望はその列ヘッダをクリックしたら直ぐにその列ヘッダを含む列の
セレクトなんですが、必ず1行目がセレクト状態になってから
望んだ状態になるので、そのワンクッションがなければいいのですが;;
0575デフォルトの名無しさん
2016/05/22(日) 18:28:25.69ID:uwOrwjCqどうみてもWEBサーバじゃなくてFTPサーバなわけだが
>>573
とりあえず簡単なサンプルコードさらしてみ
0576デフォルトの名無しさん
2016/05/22(日) 18:39:52.93ID:VlU9L/Ntこれです。
private void data1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (data1.SelectionMode != DataGridViewSelectionMode.ColumnHeaderSelect)
{
data1.SelectionMode != DataGridViewSelectionMode.ColumnHeaderSelect
data1.Columns[e.ColumnIndex].Selected = true;
}
} {
0577デフォルトの名無しさん
2016/05/22(日) 18:45:47.03ID:VlU9L/Ntすいません・・どっかのイベントでselectmodeを変化させてから
1行目以外のセルをクリックしてselect状態にしてからお試し下さい。。
currentをnullにしようがなるみたいで困ってます;;
0578デフォルトの名無しさん
2016/05/22(日) 19:06:29.28ID:mY0x857H0579578
2016/05/22(日) 19:09:04.24ID:mY0x857H0580デフォルトの名無しさん
2016/05/22(日) 19:21:47.19ID:uwOrwjCqそもそもカレントフォルダってC#側で設定してるもんじゃないけど
ショートカット作って設定するとかバッチファイルでカレント設定してから実行するとか
0581デフォルトの名無しさん
2016/05/22(日) 20:06:56.00ID:uZ6UWyfrテスト用画像をプロジェクトに追加しておき
出力ディレクトリにコピー(新しい場合はコピーする)を指定する
0582デフォルトの名無しさん
2016/05/22(日) 20:25:26.29ID:uwOrwjCqいまいち何がやりたいかよくわからんが
行、列、どっちのヘッダーでもその行か列を選択したいのか?
>必ず1行目がセレクト状態になってから
Win10 .NET4.6で試したけど再現しない
これ以上はちゃんとした環境とちゃんとしたミニマムコード示せ
0583デフォルトの名無しさん
2016/05/22(日) 20:28:13.53ID:uwOrwjCqああ、実際のプログラム実行するときじゃなくて、VSでデバッグする時の話か?
プロジェクトのプロパティで、デバッグタブに作業ディレクトリ指定する所があるだろ
0584デフォルトの名無しさん
2016/05/22(日) 21:40:22.73ID:VlU9L/Ntはい。 ただmode切り替えでは記述通りの展開になるのでどうしたものかと;;
あれ・・起こってませんか。
コードは他にはボタンイベントで行を追加してるだけです。
環境だとwin7 NET4.0ですがこれじゃないと思うんですが;;
なんだろう・・
0585デフォルトの名無しさん
2016/05/23(月) 08:47:45.38ID:G2uyX5Yo新規作成→xmlファイル とかでperson.xamlを作る
0586デフォルトの名無しさん
2016/05/23(月) 13:10:00.51ID:60Cx9OPb0587デフォルトの名無しさん
2016/05/23(月) 17:38:09.76ID:8CcdVRXcRemoveAll(n => true)で全部消えるけどね
0588デフォルトの名無しさん
2016/05/23(月) 20:14:54.97ID:60Cx9OPb0589デフォルトの名無しさん
2016/05/23(月) 20:35:42.04ID:Xj6YQxJ5今は
0590デフォルトの名無しさん
2016/05/23(月) 20:47:51.31ID:AQvXV53w0591デフォルトの名無しさん
2016/05/23(月) 21:42:44.22ID:zNtJbsAd0592デフォルトの名無しさん
2016/05/23(月) 21:43:08.37ID:8zCyTgXCRemoveWhereとかなら良かったのに
0593デフォルトの名無しさん
2016/05/23(月) 22:42:53.54ID:AsIXHz7z0594デフォルトの名無しさん
2016/05/23(月) 22:44:04.92ID:xFXxeOBl0595デフォルトの名無しさん
2016/05/23(月) 23:07:35.98ID:fuCySsN30596デフォルトの名無しさん
2016/05/23(月) 23:34:04.23ID:Myb/aKrc0597デフォルトの名無しさん
2016/05/23(月) 23:51:59.75ID:WEdYVP1M宛先に自分のメールアドレスが指定されておらず、出鱈目なメールアドレス
にも拘わらず自分のメーラーに届いていました。
これは、どういう風にしておくっているのでしょうか?
0598564
2016/05/23(月) 23:58:26.26ID:UUFCzRkX回答ありがとうございます。
おかげ様でXAMLだけ作成することができました。
しかし、実行エラーがでて完了することができませんでした。
�@person.xamlを作成
�A上記xamlに <p:Person xmlns:p="clr-namespace:CustomXaml;assembly=CustomXaml" /> を記入
↓
エラー:アセンブリCustomXamlが見つかりませんでした。
�B記入部分を変更し <p:Person xmlns:p="clr-namespace:CustomXaml"/> を記入
↓
エラー:ver s がNullのためエラー
よろしくお願いします。
0599デフォルトの名無しさん
2016/05/23(月) 23:59:01.57ID:Myb/aKrc開いたら死ぬ的な?
0600デフォルトの名無しさん
2016/05/24(火) 00:29:55.60ID:Q2t2IjQe0601デフォルトの名無しさん
2016/05/24(火) 00:30:18.65ID:ETPtdjuV0602デフォルトの名無しさん
2016/05/24(火) 09:27:43.01ID:ng4V60azCC/BCCアドレス
0603デフォルトの名無しさん
2016/05/24(火) 10:54:43.71ID:IrCbeOjbメーラーで確認している宛先というのは
ヘッダに書かれているTO/CC/BCCのことで送信には関係しない
TCPIPではポート番号25か587が使われ、もちろん暗号化もされていない、レッツトライ
0604デフォルトの名無しさん
2016/05/24(火) 17:56:43.12ID:xE6GMpD20605デフォルトの名無しさん
2016/05/24(火) 23:11:38.07ID:FhVHKUKu//SelectionModeはcell方式で
int Nonindex;
foreach (DataGridViewCell e in Dgv.SelectedCells)
{
Nonindex = e.ColumnIndex;//出力列固定
break;
}
foreach (DataGridViewCell e in Dgv.SelectedCells)
{
if (Nonindex != c.ColumnIndex) continue;
Console.WriteLine("列{0}, 行{1}", e.ColumnIndex, e.RowIndex);
}
これでやると
列0,行28
列0,行27
列0,行26
みたいな感じで何故か降順出力されてるんですけど
ソート以外で昇順出力ってできないのでしょうか・・・
foreachだけなのかな・・よくわからないです;
0606デフォルトの名無しさん
2016/05/25(水) 00:03:48.77ID:ZhEVvEfY私が欲しいのが選択されているcellの最小値cellindexと
最大値cellinndexなので態々foreachを使わなくても
int 最小値= Dgv.SelectedCells[Dgv.SelectedCells.Count - 1].RowIndex;//最小値意味不明
int 最大値=Dgv.SelectedCells[0].RowIndex;//最大値意味不明
で取れるみたいなので解決ということで;;
しかしなんで逆になるのか意味がわかりませんorz
環境で違うのでしょうか・・
0607デフォルトの名無しさん
2016/05/25(水) 02:02:04.59ID:LlC0kEA90608デフォルトの名無しさん
2016/05/25(水) 02:08:45.39ID:LlC0kEA9>XAML名前空間は、規定の名前空間の他に自分で作成したクラスに割り当てることができます。
>そのときの名前空間の書式はxmlns:プレフィックス=”clr-namespace:名前空間;assembly=アセンブリ名”になります。
>例として、CustomXamlという名前のコンソールアプリケーションを作成して、WPFに必要なアセンブリを追加したプロジェクトに以下のようなPersonという名前のクラスを作成します。
アセンブリ名(アプリ名)が違うんじゃないの
0609564
2016/05/25(水) 22:59:43.96ID:6/Sbp/Ptレスありがとうございます
<p:Person xmlns:p="clr-namespace:CustomXaml;assembly=CustomXaml" />
をコピペした直後は「エラー:アセンブリCustomXamlが見つかりませんでした。」でしたが、
エンターキーを押すとこのエラーが消えました。申し訳ないです。
しかし、
p:Personの部分がエラーとなっており、
エラー:p:Personが見つかりませんでした。アセンブリ参照が失われていないか〜〜
となります。
色々試してみたのですが、すべてエラーとなります。
<Personクラスの作成方法>
�@追加⇒新しい項目⇒クラス⇒Person.cs
�AProgram.cs内にコード貼り付け
どちらも同じエラーになる
<Person.xamlの作成方法>
�@ファイル⇒新しいファイル⇒XMLファイル⇒Person.cs は 「エラー:ver s が Null」
�A追加⇒新しい項目⇒XMLファイル⇒Person.cs は 「エラー:p:Personが見つかりません」
�B �AのXaml画面で、<p:Person xmlns:p="clr-namespace:CustomXaml"/>を記入 p:Personエラーが消えるが「エラー:ver s が Null」
コード及びファイル名はすべてコピペですので、入力ミスではないと思います。
ちなみに、「Visual Studio Express 2015」を使っています。
よろしくお願いします。
0610デフォルトの名無しさん
2016/05/25(水) 23:40:26.91ID:dLvvLAkoをどうやったか書いてみろ
0611デフォルトの名無しさん
2016/05/26(木) 07:07:57.28ID:2VsS7p7P空ファイルだろうな
0612デフォルトの名無しさん
2016/05/26(木) 12:11:18.48ID:GiDtcqY+これを残さず、終了させるにはどうしたらいいのでですか?
var type = Type.GetTypeFromProgID("Word.Application");
Object application = Activator.CreateInstance(type);
// ここにはバージョン情報を取るコードが入る予定
System.Runtime.InteropServices.Marshal.ReleaseComObject(application);
0613デフォルトの名無しさん
2016/05/26(木) 12:18:02.88ID:PI74TNcUReleaseComObjectの前にapplication.Quit()じゃね
0614564
2016/05/26(木) 21:58:15.23ID:Fzc9JSvvレスありがとうございます。
< 埋め込まれたリソースに設定して > の部分は、何もしてませんでした。
この言葉をヒントに「ビルドアクション」部分を設定することで、
無事エラーなく実行することができました。
これまで答えてくれた方々ありがとうございました。
0615デフォルトの名無しさん
2016/05/27(金) 12:46:02.40ID:vIYyde/v便宜上、TextBox1〜TextBox10 とします。
このユーザーコントロールのコンストラスタを動的に5つ生成し
flowLayoutPanel に貼り付けてます。
便宜上、ユーザーコントロールを uc1〜uc5 とします。
フォームサイズよりも大きいため、AutoScroll = True にしてます。
フォーカス遷移に伴ってスクロールも勝手にしてくれるんですが
uc2のTextBox1 にフォーカスが入ったら(Enterしたら)
Text10が見えるところまで余計にスクロールさせたく、TextBox1 の Enter イベントで
ScrollControlIntoView(uc2.TextBox10);
としたんですが、無視されます。
何が間違えているのでしょうか。
0616デフォルトの名無しさん
2016/05/27(金) 12:58:46.79ID:vIYyde/vflowPanelLayout に対して ScrollControlIntoView してましたが
AutoScroll = true; が、flowPanelLayout でなく外側のフォームに指定してありました。
flowPanelLayout.AutoScroll = true;でうまくいきました。すみません。
0617デフォルトの名無しさん
2016/05/27(金) 13:00:27.21ID:vIYyde/v∧∧
ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄
 ̄
0618デフォルトの名無しさん
2016/05/28(土) 01:15:35.78ID:Y0/fmG1jこの変数 data の型を取得する方法はありますか? 教えて下さい。
中身が null でなければ .GetType() で取得できます。
ただ、出来るのかな、と思った程度なのですが。
0619return typeof(T)
2016/05/28(土) 06:57:48.31ID:9wsGA55k「nullでなければ、GetType()を使うと変数の方が取得できる」
と聞いたのですが、うまくいきません。
object a = 1;
object b = 3.14;
Console.WriteLine(a.GetType());
Console.WriteLine(b.GetType());
0620デフォルトの名無しさん
2016/05/28(土) 08:11:21.99ID:mtai33ZsGetTypeで取れるのは変数の型ではなく値の型
値の型は実行時に変わる可能性があるから動的に調べる必要があるけど、
変数の型はわざわざ調べるまでもなくお前は既に知ってるんだから、
その型が欲しければ単に typeof(string) や typeof(object) とすればよい
0621デフォルトの名無しさん
2016/05/28(土) 09:34:32.64ID:aOWx78Qyかな
string data;
Type t = GetExprType(data);
var x = foo();
Type u = GetExprType(x);
0622デフォルトの名無しさん
2016/05/28(土) 09:59:19.15ID:jLtbJ9vXそれだと式が評価されてしまうから引数の型はFunc<T>かExpression<T>の方がいいんじゃね
0623デフォルトの名無しさん
2016/05/28(土) 10:05:36.63ID:aOWx78Qy0624デフォルトの名無しさん
2016/05/28(土) 10:18:45.76ID:wZkOO3aE良く似た属性なので違いが分かりません。
0625デフォルトの名無しさん
2016/05/28(土) 13:00:37.22ID:R/IrjiE4なんでも突っ込める
0626618
2016/05/28(土) 14:31:22.23ID:Y0/fmG1jありがとう。本当に出来るんだ。。
読んでいてなるほどと思いました。
>>620
試験用のコードとかでとりあえずインスタンスを生成しておかないといけないときに便利かな、とか思って。
0627デフォルトの名無しさん
2016/05/28(土) 17:02:27.26ID:wZkOO3aEありがとうございました。
0628デフォルトの名無しさん
2016/05/30(月) 14:22:44.71ID:ND1XxSGpchartのXの軸を時間にして、一定時間が過ぎたらスクロールしようとしているのですが、
チャートの枠が一定じゃなく、時々幅が変わるのはなぜでしょう?
よろしくお願いします。
http://ideone.com/UdLMie
(フォームにチャートを貼り付けるだけで動作します)
0629628
2016/05/30(月) 14:26:47.40ID:ND1XxSGpチャートの描画は適当です。
10秒後からスクロールと同時に、0秒と最新の秒の2点に描画します。
0630デフォルトの名無しさん
2016/05/30(月) 17:18:35.79ID:RVPV9l3YBプロジェクトのBクラスで継承したのを
Cプロジェクトで利用しようとすると
Aプロジェクトを参照しないといけなくなるのですが、参照しなくても利用できるように出来ないですか?
0631デフォルトの名無しさん
2016/05/30(月) 18:45:56.56ID:R7eBHL5/できないです
0632デフォルトの名無しさん
2016/05/30(月) 19:26:12.39ID:DenG3Py2事実上checkedブロックの中にネストした時だけって理解で合ってる?
0633デフォルトの名無しさん
2016/05/30(月) 19:56:20.11ID:vMOBYd51間違ってる
デフォルトでチェックするかどうかはコンパイルオプションで指定できる
桁溢れが発生することを分かっててuncheckedを指定してないと、デバッグ時にそのオプションを利用できなくなる
0634デフォルトの名無しさん
2016/05/30(月) 20:43:38.20ID:qXyuIMhgなるほどありがとう
0635デフォルトの名無しさん
2016/05/30(月) 22:35:48.86ID:W9xaEvpV0636デフォルトの名無しさん
2016/05/30(月) 23:23:55.16ID:le523W1zそんな高尚なもんでないぞ
0637デフォルトの名無しさん
2016/05/31(火) 00:56:54.02ID:zHKxg10M試しに
//chart1.ChartAreas[0].AxisX.Maximum = dtMax.ToOADate();
chart1.ChartAreas[0].AxisX.Maximum = dtMax.AddMilliseconds(100).ToOADate();
こうしたら幅は変わらなくなったから、原因は・・・よくわからん。
0638デフォルトの名無しさん
2016/05/31(火) 02:23:52.77ID:jFYm8LOUVC++だと画像上の状態(括弧の終わりなどが補完された状態)の時にTABキーを押すと画像下のように1つ右へ移動してそのまま;などを入力することができました
VC#でTABキーを押してもTABが挿入されるだけなんですがこの機能はVC#には搭載されてないですか?
ググろうと思ったんですけどそもそもこの機能の名称がわからないので検索もできないです…
0639デフォルトの名無しさん
2016/05/31(火) 06:51:48.49ID:HjYDbXLZ使ってる Visual Studio のバージョンとエディションは?
0640デフォルトの名無しさん
2016/05/31(火) 08:54:58.95ID:6ZXWz7RR普通にできるね。
VS2015Update2のC#
0641628
2016/05/31(火) 09:23:22.48ID:/+1mPN+rありがとうございます。
確かにグラフに100msほど余計な部分が出ますが、安定しますね。
10msにしたらほとんど気にならないくらいになりました。
定義することで、自動可変だったプロパティのどれかが固定された感じでしょうかね?
とても助かりました。
0642デフォルトの名無しさん
2016/05/31(火) 09:27:05.93ID:jFYm8LOU>>640
レスありがとうございます
起動時にVSPackage云々のエラーが出てきてうざかったので再インストールしたらできるようになりました
スレ汚し失礼致しました
0643デフォルトの名無しさん
2016/05/31(火) 17:18:53.86ID:iX3mALZ4このようにすると、BaseDataがinterfaceでないのにその色になり
SubClassでBaseDataのプロパティを利用しようとしても「BaseDataで宣言されていない」となってコンパイルできません
SubClassはさらに複数のクラスで継承して利用したいです
何卒ご教示お願いします
public class BaseClass<T>
public class AData:BaseData
public class AClass:SubClass<AData>
public class BClass:SubClass<BData>
0644デフォルトの名無しさん
2016/05/31(火) 17:31:50.78ID:uSmI2uGsこの<BaseData>消せ
0645デフォルトの名無しさん
2016/05/31(火) 22:23:00.06ID:6ZXWz7RRpublic class SubClass<BaseData>:BaseClass<BaseData>
って
public class SubClass<T>:BaseClass<T>
と書いてるのと同じだよ。
(上のBaseDataも、下のTも型パラメータ)
public class SubClass<T>:BaseClass<T> where T:BaseData
と書きたいの?
0646デフォルトの名無しさん
2016/05/31(火) 23:36:01.14ID:x2IInpuB下の列3のようにColumn1+Column2で合計を求める計算式が作れますが。
Column1〜Column100までの合計を作りたい場合、下の列3のような書き方だと長いし、修正等をするときが大変です。
簡単に書く方法はないでしょうか?
//DataTableオブジェクトの作成
DataTable dt;
dt = new DataTable("DataTable1");
//列1を作成
DataColumn dc;
dc = new DataColumn("Column1", typeof(int));
dt.Columns.Add(dc);
//列2を作成
dc = new DataColumn("Column2", typeof(int));
dt.Columns.Add(dc);
//列3を作成
//"Column1 + Column2"値の列とする
dc = new DataColumn("Column3", typeof(int));
dc.Expression = "Column1 + Column2";
dt.Columns.Add(dc);
0647デフォルトの名無しさん
2016/06/01(水) 00:07:16.24ID:cyXjIb39そんなんforでぶん回せば終わるだろ
DataTableの前にプログラミングの基礎を勉強しなよ
0648デフォルトの名無しさん
2016/06/01(水) 00:27:57.98ID:FZZwAU/kまさにそれがやりたかったです
ややこしいですねえジェネリック
そんなことないですか?
ありがとうございました
0649デフォルトの名無しさん
2016/06/01(水) 00:56:59.49ID:XGCipwMS何か合理的な理由ってある?
コンストラクター初期化子が呼ばれる時点ではフィールドは初期化されてるはずなので
無意味な制約にしか思えないんだけど。
ちなみにVBは普通に出来る。
0650デフォルトの名無しさん
2016/06/01(水) 01:16:12.91ID:QomDizew自分のクラスの未初期化フィールドにアクセスする分には自分で動作を理解してるからまあ大きな問題はないとしても、
コンストラクタ初期化子で基底クラスのコンストラクタを呼ぶ時なんかだと
初期化途中の不正な状態にアクセスできてしまい基底クラスのカプセル化を壊すケースがありうる
ここでいう未初期化は最初の0クリアじゃなくてコンストラクタでの代入も含めた初期化が済んでないって意味な
0651デフォルトの名無しさん
2016/06/01(水) 01:48:50.15ID:LZh4jlZzフィールド初期化子だって最初フィールドはデフォルト値で初期化されてるんだから、お前の理屈で言えばそれも無意味な制約だろう
基底クラスの問題も含め、意味的におかしいからわざわざ禁止してあるだけ
0652デフォルトの名無しさん
2016/06/01(水) 02:02:02.03ID:AcPC3rDJ0653デフォルトの名無しさん
2016/06/01(水) 08:38:40.75ID:3Z/vm/ae0654デフォルトの名無しさん
2016/06/01(水) 08:55:06.75ID:/zQn+A9d仮に使えるようにしたらどういうタイミングでどれから初期化したらいいのか決めるのが難しくなる
0655デフォルトの名無しさん
2016/06/01(水) 11:02:29.50ID:jyPbo1u3だから難しくないって。
これがインスタンスメソッドやプロパティなら話は別かもしれないが、
フィールドはコンストラクター初期化子が呼ばれる時点で初期化が終わってる。
ちなみにVBでは上のどっちも別のコンストラクター呼び出しの引数として使える。
0656デフォルトの名無しさん
2016/06/01(水) 11:08:36.26ID:H9iPP1xq何故ですか?ってここは言語開発者の心情を答えるスレじゃねえんだよ
知りたければ直接聞いてこい
お前文系か?国語の教師か?生徒と向き合ってろチンカス
0657デフォルトの名無しさん
2016/06/01(水) 11:31:13.98ID:ZaXwMAYY向学心があってとてもよい傾向だと思います
どうぞ
https://mobile.twitter.com/ahejlsberg
0658デフォルトの名無しさん
2016/06/01(水) 12:05:57.83ID:fqX4zf5whttp://ideone.com/jxmT5N
0659デフォルトの名無しさん
2016/06/01(水) 12:42:01.22ID:jyPbo1u3酷い馬鹿だ
0660デフォルトの名無しさん
2016/06/01(水) 13:07:39.76ID:6Kb9IiTr0661デフォルトの名無しさん
2016/06/01(水) 13:09:40.89ID:6Kb9IiTr明らかに酷い馬鹿であるが
0662デフォルトの名無しさん
2016/06/01(水) 13:12:20.12ID:6Kb9IiTr0663デフォルトの名無しさん
2016/06/01(水) 13:50:52.26ID:LVXvEZB40664デフォルトの名無しさん
2016/06/01(水) 17:24:41.73ID:E/1ScAaTまずこれが言語仕様として保障されてるのか?
そもそもフィールドってインスタンスフィールドだよな
コンストラクターが完了するまでインスタンスは存在しない前提だと思うが
0665デフォルトの名無しさん
2016/06/01(水) 17:32:29.38ID:dk/0+Do9VisualStudio2015でC#使用です
FormにPictureBoxを配置し、画像を表示した時、
画像の表示位置を取得するにはどうすれば良いのでしょうか?
例として、下のような時に左上の赤い┏の位置を取得したいです
https://i.gyazo.com/fe55c38b2c637b4ebdc2c7ed631f8b66.png
画像の縦横幅はpictureBox.Image.Height/Widthで取得できたので、そういった感じで取得できるのかと思ったのですが
それらしいプロパティが見当たりません
0666デフォルトの名無しさん
2016/06/01(水) 17:47:49.28ID:V+1p7J93自前で計算する必要がある ので一般的についでに描画も自前でやる
0667デフォルトの名無しさん
2016/06/01(水) 18:03:56.59ID:dk/0+Do9仰るとおりPictureBoxのSizeModeはZoomでやっていました
現状だとFormのサイズを変更したとき、PictureBoxも自動でリサイズされ、
PictureBoxいっぱいに(PictureBox.Imageのエリアを越えて)補助線を描画してしまうので困っていました
なんというか、もっと別の方向で考えないとダメということですかね
0668デフォルトの名無しさん
2016/06/01(水) 18:10:59.75ID:dk/0+Do9別のアプローチが浮かんだのでそれで解消できるか考えます
ありがとうございました
0669デフォルトの名無しさん
2016/06/01(水) 18:36:10.43ID:99mvWeVQ>コンストラクターが完了するまでインスタンスは存在しない前提だと思うが
おいおいw
0670デフォルトの名無しさん
2016/06/01(水) 18:51:56.12ID:99mvWeVQ一応web上でダイレクトに読める根拠(コンストラクター初期化子が呼ばれる時点で
フィールドの初期化が完了してることのね)はここにあった。
https://msdn.microsoft.com/ja-jp/library/ms173118.aspx
>フィールドは、オブジェクト インスタンスのコンストラクターが呼び出される直前に初期化されます。
0671デフォルトの名無しさん
2016/06/01(水) 19:10:55.96ID:f5RoEIcU0672デフォルトの名無しさん
2016/06/01(水) 19:20:49.83ID:KR+2DsLfILでそうなってたからといってそれはわかんねーし
0673デフォルトの名無しさん
2016/06/01(水) 19:22:44.55ID:yf3Vj+j/0674デフォルトの名無しさん
2016/06/01(水) 20:25:03.39ID:mR9HtIJOint型の値をひっくり返す、例えば837を738、6249を9426としたい時はどうすれば賢くできるのでしょうか?
n=837場合、頭の中では
int n = 837
int a[];
a[0] = n / 100;
n = n % 100;
a[1] = n / 10;
a[2] = n % 10;
このa[]を逆順にして出そうと考えています
0675デフォルトの名無しさん
2016/06/01(水) 20:34:33.28ID:f5RoEIcU0676デフォルトの名無しさん
2016/06/01(水) 20:35:19.01ID:FLx7lZB30677デフォルトの名無しさん
2016/06/01(水) 20:47:50.64ID:Y/Vw76FA0678デフォルトの名無しさん
2016/06/01(水) 20:53:10.39ID:Y1lVJ48Jint.Parse(new string(n.ToString().ToCharArray().Reverse().ToArray()));
0679デフォルトの名無しさん
2016/06/01(水) 20:56:11.44ID:0VJdQ0EX試してないけどこんな感じでいけるんじゃね
int m=(int)Math.Log10(n);
int ans=Enumerable.Range(m)
.Select(p=>n/(int)Math.Pow(10,p)%10*(int)Math.Pow(10,m-p))
.Sum();
0680デフォルトの名無しさん
2016/06/01(水) 21:33:00.62ID:cinc5ABCこういうつまんねー宿題世の中から消すために標準ライブラリに入れたらいいと思わね?
0681デフォルトの名無しさん
2016/06/01(水) 21:46:55.73ID:f5RoEIcU0682デフォルトの名無しさん
2016/06/01(水) 21:51:37.12ID:Y1lVJ48J0683デフォルトの名無しさん
2016/06/01(水) 22:26:16.41ID:cyXjIb39ToCharArrayいらない
0684デフォルトの名無しさん
2016/06/01(水) 22:39:26.89ID:jR92S9AHLINQのReverseがあるから別に困りはしないけど
http://stackoverflow.com/questions/228038/best-way-to-reverse-a-string
0685デフォルトの名無しさん
2016/06/01(水) 23:04:56.46ID:QH7BmVl50686デフォルトの名無しさん
2016/06/01(水) 23:13:55.10ID:fqX4zf5w0687デフォルトの名無しさん
2016/06/01(水) 23:36:54.94ID:cinc5ABCトラックの右側の文字
0688デフォルトの名無しさん
2016/06/02(木) 18:07:01.22ID:bSBSd45q概ね欲しい機能は出来てきたのですが、未読管理の機能がどうしても実装できません。ツイートを文字型にしてListViewにひたすら入れる、という形を取っているのでツイートのidを検索しListViewになかったら追加する…という風なのを考えていたのですが、うまく実装できず。
理想としましては更新しても今まで読んだところにスクロールが留まった状態でTLを読み込んでくれることなのですが…
どなたかご教授いただければ幸いです。よろしくお願いします。
0689デフォルトの名無しさん
2016/06/02(木) 18:21:50.94ID:DyKN37Epスクロール位置などから調べればいい
0690デフォルトの名無しさん
2016/06/02(木) 21:05:58.97ID:M2hpOh73ありがとうございます。しかし具体的な方法が思いつきません。更新する前のスクロールバーの位置は「1番上」ではないのでしょうか?
0691デフォルトの名無しさん
2016/06/03(金) 01:25:06.97ID:SESshZ7Lデータ構造からUIを考える方が設計しやすいぞ
0692デフォルトの名無しさん
2016/06/03(金) 01:50:17.79ID:WPN+Dz/q0693デフォルトの名無しさん
2016/06/03(金) 01:52:55.72ID:SESshZ7Lまあ、その結果使いやすいアプリになるかどうかは定かではないが
0694デフォルトの名無しさん
2016/06/03(金) 02:04:45.04ID:MEv/fX/r{中略}
pictureBox.Size=size;
上記の様に書いたのですが、pictureBox.Sizeにsizeの値が入りません
他の箇所でSize構造体に値をセットする際、sizeA=sizeB;の書き方で値がセットされたのでいけるかと思ったのですが、
pictureBoxの値は変えられないのでしょうか?
pictureBoxを任意の大きさにし、それに合わせてフォームサイズも勝手に変わってほしいのですが…
ちなみにpictureBox.Size=size;の箇所をthis.Size=size;にするとフォームサイズは変更できましたが、
これだと本来pictureBoxにセットしたかった値がフォームサイズにセットされてしまうため、
pictureBoxの大きさが予定より小さくなってしまいます
pictureBoxの大きさに余白を足した値をthis.Sizeにセットするしかないですか?
0695デフォルトの名無しさん
2016/06/03(金) 02:33:58.09ID:KeXUhFvpJavaで言えば、
class ButtonAction implements ActionListener {
public int i;
pubilc void actionPerformed(ActionEvent e) {
System.out.println(i);
}
}
のようなアクションを実装しておいて、ButtonActionをnewした後iを変更することでActionEvent eによらずにインスタンスごとに動作を変更できますが、
C#では同様のことをするには無名関数で定義するしかないのでしょうか?
0696695
2016/06/03(金) 02:38:11.89ID:KeXUhFvpできるのですね。
class ButtonActionDelegate {
public int i;
public void onClick() {
Debug.Log (i);
}
}
ButtonActionDelegate del = new ButtonActionDelegate ();
del.i = i;
button.GetComponent<Button>().onClick.AddListener (del.onClick);
0697688
2016/06/03(金) 08:23:17.13ID:3hHBCyQH0698デフォルトの名無しさん
2016/06/03(金) 08:32:16.96ID:fA4zLn/yC#でつまっているんじゃなくてCoreTweetがうまく使えないって話かな
0699デフォルトの名無しさん
2016/06/03(金) 10:40:41.32ID:3CZH6sVXSize sz = new Size(100, 100);
pictureBox1.Size = sz;
で、サイズ変わるよ
何か余計なことしてるんじゃね?
アンカーとか
0700デフォルトの名無しさん
2016/06/03(金) 11:08:23.12ID:HletC+7l子要素の大きさ変えて親要素の大きさ変えるってできたっけ
スクロールバー表示されるだけじゃないか
PictureBoxにアンカー設定してthis.Sizeで調整するしかないと思うよ
0701デフォルトの名無しさん
2016/06/03(金) 11:34:41.04ID:E3jK4mBDjavaでコマンドプロンプトにhelloって言わせる程度しかやってないゴミです
俺程度のゴミがc#を学習するのに適してる入門書や入門サイト教えてください
未確認飛行cっというサイトを途中まで読みましたが何が言いたいのかさっぱり分かりませんでした
0702デフォルトの名無しさん
2016/06/03(金) 11:37:11.44ID:qPjI5kKdどんなところが分からないとか言いなさい
0703デフォルトの名無しさん
2016/06/03(金) 12:04:12.22ID:FuZ8ORYOその方が開放感を味わえるよ
0704デフォルトの名無しさん
2016/06/03(金) 12:51:45.12ID:OYVkgjYeCLR via C# 4th
これ読んでダメなら才能ないからC#はあきらめたほうがいい
0705デフォルトの名無しさん
2016/06/03(金) 13:46:54.96ID:3CZH6sVX「C# 電卓 作り方」でググって自分がわかりやすそうなサイト見て作ってみろ
0706デフォルトの名無しさん
2016/06/03(金) 14:45:03.71ID:YDeWQSyO書籍なら作って覚えるC#とかやさしいC#
0707デフォルトの名無しさん
2016/06/03(金) 15:09:16.87ID:n91WLswm>177
0708デフォルトの名無しさん
2016/06/03(金) 16:38:48.74ID:MEv/fX/rpictureBoxのAnchorはTop,Left、DockはFillになっています
>>707
pictureBox.ClientSizeに値をセットするようにしたところ、
pictureBox内の画像は指定したサイズで表示されるようになりましたが、フォームサイズが変わらず
余白ができるようになってしまいました
実行した結果です
https://i.gyazo.com/fe0ee11cdab3498cbdcdc4f685e25268.png
500*1000pxの画像を、指定したサイズに縮小/拡大して表示しフォームサイズもそれにピッタリ合わせたいです
結果ではClientSizeにセットしたサイズで画像が表示されるものの、フォームサイズは画像の元サイズ(500*1000)に応じたサイズになってしまっています
なお、本来の画像サイズは赤い「」で句切られた箇所までで、緑色のワク線になっている箇所はpictureBox.BackColorです
0709デフォルトの名無しさん
2016/06/03(金) 17:56:58.76ID:MqjWJNT8キーワードだけ示されてもわかりにくいよ
>>708
pictureBox.ClientSizeでなくthis.ClientSizeにその数値をセットしろってことじゃない?
0710デフォルトの名無しさん
2016/06/03(金) 19:46:15.43ID:+PuVJbEW00001000 これだと1000にすんなりですが、000-1000 だと-1000とはならず
左の桁からマイナスを探して処理するってのも考えたですがなんかやぼったいというか
すっきりするような方法ってありますか
0711デフォルトの名無しさん
2016/06/03(金) 19:53:10.61ID:MqjWJNT8変換前にstring.Contains("-")でチェックしたら
0712デフォルトの名無しさん
2016/06/03(金) 21:05:44.99ID:uF+ugD1Cあと実数があり得るなら00000.100みたいな文字列の場合も例外になりそう
0713デフォルトの名無しさん
2016/06/03(金) 21:16:13.48ID:ZRsyDDIadecimal.Parse(System.Text.RegularExpressions.Regex.Replace(str, @"^0+(?=-\d)", string.Empty));
素直にstring.IndexOf("-")して見つかったらstring.Substringした方が速いと思うけど
0714デフォルトの名無しさん
2016/06/03(金) 21:28:31.04ID:MqjWJNT8入力例が>>710ならこれでできるはず
0715デフォルトの名無しさん
2016/06/03(金) 22:51:51.29ID:MEv/fX/rthis.ClientSizeにセットしたところ、思うような動作になりました!
ありがとうございました
0716デフォルトの名無しさん
2016/06/03(金) 23:06:05.80ID:rvTabcEM煽ってるだけなんだろうけど、それ、めちゃくちゃ詳しい代わりに初心者が理解するのは難しいだろ。
このスレでもその本のレベルで理解してる人がどれだけいるんだか。
でも、日本語訳も出てるし、ちゃんとC#やるならぜひ読むべき本だとは思うけどね。
0717デフォルトの名無しさん
2016/06/04(土) 01:09:03.91ID:Atk6t3Xmbyteをintで扱いたい時は& 0xFFを使う
というのをなんとなく思い出した
0718デフォルトの名無しさん
2016/06/04(土) 05:50:35.93ID:BRPGaK18そんな電話番号みたいな文字列を整数化する事に無理がある。
0719デフォルトの名無しさん
2016/06/04(土) 06:30:06.41ID:MofLzjiU元データフォーマット不明、期待値不明で、みなさんよくエスパーできるなぁと感心する。
0720デフォルトの名無しさん
2016/06/04(土) 06:31:05.71ID:qjr7DQXX煽り抜きに入門書としても最良の本だよ
他の本も何冊か読んだがこれより理解しやすい本はなかった
0721デフォルトの名無しさん
2016/06/04(土) 07:35:27.46ID:pjIpaMkU★☆☆☆☆
日本語じゃないので
0722デフォルトの名無しさん
2016/06/04(土) 10:58:20.65ID:3Ng4J+gS0723デフォルトの名無しさん
2016/06/04(土) 11:06:45.28ID:3JWCbWJ8第二版持ってたけどこの間半額セールやってたから買っちゃった
0724デフォルトの名無しさん
2016/06/04(土) 11:23:43.74ID:iXP2g+JUつ プログラミング.NET Framework 第4版 (CLR via C# 4th の日本語訳)
kindle版もあるみたい。って、紙の本に比べてずいぶん安いんだな。
0725710
2016/06/04(土) 11:30:27.23ID:b4i2c1Ws素直にindexOf(Containsと迷いましたが)で判定してSplitで後方部分をParseするで落ち着きました
>>713
SplitよりSubStringの方が早いんですかね
処理数が多いので、そっちの方がいいのかな
0726デフォルトの名無しさん
2016/06/04(土) 11:57:57.62ID:Atk6t3Xmダブルクリック→F1で飛べる、もちろんF12の方が使用機会が多い
コピペしたいならマイクロソフトのサンプルをダウンロードするのが手っ取り早い
ぶっちゃけスパムブログの大半はサンプルのまんまパクリだ
0727デフォルトの名無しさん
2016/06/04(土) 12:45:51.49ID:YQ93pS7e単数のみマッチってできませんか?
例えば
"z,a,i,u,o,k,l,aa"
が検索対象文字列で
aだけをマッチさせてaaにはマッチさせないということをしたいのです。
,a,とこんな感じでマッチさせればいいのですが,後でコレクション化したときに
,を含めたくなくて;;
何かあればお願いします。
0728デフォルトの名無しさん
2016/06/04(土) 12:47:19.85ID:5bDHWOYvフォームにAutoSizeってプロパティあるでしょ
0729デフォルトの名無しさん
2016/06/04(土) 14:30:44.83ID:2hWy5mYVJavaScript実行後のHTMLを取得する方法を教えて下さい。
現在HttpWebRequestのGetResponseメソッドで特定URLのHTMLを取得するコードを実装しているのですが、
取得したHTMLから、さらに呼ばれているJavaScriptの処理で、そのHTMLの内容が変わります。
※innerHTML 等で
JavaScriptが処理された後のHTMLを自動的に生成する方法を教えて下さい。
0730デフォルトの名無しさん
2016/06/04(土) 14:43:20.39ID:k+rvYpWoマルチ
0731デフォルトの名無しさん
2016/06/04(土) 16:01:43.61ID:bI+aAPNOどのような流れで処理したらいいですか?
0732731
2016/06/04(土) 16:04:16.70ID:bI+aAPNO0733デフォルトの名無しさん
2016/06/04(土) 17:54:52.79ID:w9X2jNiK"\ba\b"で出来ないか?
または"[^a]a[^a]"とか
"\Wa\W"とか
0734デフォルトの名無しさん
2016/06/04(土) 18:43:31.25ID:Ux1fTD3c"aaa" が来たらどうする気?
0735デフォルトの名無しさん
2016/06/04(土) 19:15:27.08ID:8+lzdY1A>>733さんので完璧だろうけど他も見たかったら
http://dobon.net/vb/dotnet/string/regex.html
でも参考に
,含めてマッチさせて後でTrimかReplaceで消してもいいだろうし
0736デフォルトの名無しさん
2016/06/04(土) 19:51:20.31ID:YQ93pS7e完璧です。アドバイスありがとうございます。
そういえば否定形もありました。。。
>>734さん
>>733さんが完璧ですね。
?も組み合わせればかなり強い組み合わせになりそうです。
>>735さん
アドバイスありがとうございます。
一応、,もマッチしてしまうのでそれはアドバイスの通り
Replaceで消して対応してみました。
0737fsdgas45
2016/06/04(土) 21:29:10.75ID:2hWy5mYVOnDocumentCompletedメソッドをオーバラーライドしたいのですが、、、、
コンパイルエラーとなります。。。。。。
コンパイル警告/エラー無しで正しく継承する具体的なコーディング内容を教えて下さい。
■環境
Visual Studio 2012
C++ CLI
■ソース
public ref class ClassHTTPAuto : WebBrowser{
virtual void OnDocumentCompleted(WebBrowserDocumentCompletedEventArgs e) override = WebBrowser::OnDocumentCompleted{//★
}
};
■コンパイルエラー内容 ★の箇所
'System::Windows::Forms::WebBrowser::OnDocumentCompleted' : 明示的なオーバーライドの署名に一致するメンバーはありません。
'ClassHTTPAuto::OnDocumentCompleted' : 関数は 'System::Windows::Forms::WebBrowser::OnDocumentCompleted' をオーバーライドしません
'override' : オーバーライド指定子の使用法が不適切です。'ClassHTTPAuto::OnDocumentCompleted' は基本 ref クラス メソッドと一致しません
0738デフォルトの名無しさん
2016/06/04(土) 21:57:58.92ID:pwpB9SqL0739デフォルトの名無しさん
2016/06/05(日) 00:02:55.13ID:/+LcDTvIマルチ
0740デフォルトの名無しさん
2016/06/05(日) 02:33:11.12ID:k41H60dcFlashなんかをピッタリサイズで表示させるにはどうすれば良いのでしょうか?
0741デフォルトの名無しさん
2016/06/05(日) 02:37:07.29ID:b0qHmmcLそう、3ヶ月くらい
0742デフォルトの名無しさん
2016/06/05(日) 02:54:53.09ID:SAW5S6y/0743デフォルトの名無しさん
2016/06/05(日) 04:06:21.62ID:4FqkZSXnhttp://echo.2ch.net/test/read.cgi/tech/1449902256/
こいつだろ
半年もやって一向に物にならないんだからやめちまうべきだな
0744デフォルトの名無しさん
2016/06/05(日) 11:36:14.28ID:retQ+Bah独習C# ってそろそろ新しい版はでないのでしょうか?
C#6.0対応のが読みたいのです! 2010年から結構経ったので、でないかなーと待っているのですが
皆さん情報持っていませんか?
0745デフォルトの名無しさん
2016/06/05(日) 11:56:54.98ID:tmScA2gy0746デフォルトの名無しさん
2016/06/05(日) 12:07:01.34ID:retQ+Bahそうですよねーw
0747デフォルトの名無しさん
2016/06/05(日) 12:07:15.23ID:f99lxZdFパターンマッチングには興味津々
0748デフォルトの名無しさん
2016/06/05(日) 12:13:00.64ID:retQ+Bah0749デフォルトの名無しさん
2016/06/05(日) 12:59:09.29ID:qsF3lMoe0750デフォルトの名無しさん
2016/06/05(日) 13:40:02.19ID:tmScA2gy0751デフォルトの名無しさん
2016/06/05(日) 14:55:01.25ID:6ih2a7FC0752デフォルトの名無しさん
2016/06/05(日) 15:03:55.54ID:TCIgNuGr0753デフォルトの名無しさん
2016/06/05(日) 15:57:49.52ID:8zGv30iU月月火水木金金だよな
0754デフォルトの名無しさん
2016/06/05(日) 17:04:42.52ID:nLihq5j7って書いたら負けですか?そうですか
0755デフォルトの名無しさん
2016/06/05(日) 17:35:08.03ID:8892ssUN0756デフォルトの名無しさん
2016/06/05(日) 20:24:39.08ID:IVCEuXsFこんな感じでインスタンス配列を生成して
MyClass[] mc = new MyClass[10];
それをメソッドに渡して
private void a(MyClass mc,int 変数)
{
mc[変数].x=1;
}
こんな感じで代入したいんですけど
なぜかmc.xではないと代入できないんですね・・・
[]を使って代入するにはどうすればいいでしょうか?
0757デフォルトの名無しさん
2016/06/05(日) 20:30:00.68ID:tmScA2gyつまり、((MyClass )null.).x = 1; をやっちゃってる。
0758デフォルトの名無しさん
2016/06/05(日) 20:30:22.14ID:EQjnuZ/N変数mcはMyClass[]型
> private void a(MyClass mc,int 変数)
第1引数mcはMyClass型であってMyClass[]型じゃない
0759デフォルトの名無しさん
2016/06/05(日) 21:00:39.46ID:iCXItJy9ここを見てそのまま作っていたのですが
VS2013でエラーが出てビルドできません。
何か足りないのでしょうか?
using System.IO;
private void Form1_Load(object sender, EventArgs e)
{
string drives = Directory.GetLogicalDrives();
foreach (string d in drives)
{
FileExplorer.Nodes.Add(d,d);
}
}
0760デフォルトの名無しさん
2016/06/05(日) 21:16:46.20ID:E2ht45Vjその3の上っ面しか見てないとしか思えん
その1からじっくり読み込んでこい
0761デフォルトの名無しさん
2016/06/05(日) 21:18:34.95ID:6ih2a7FC0762デフォルトの名無しさん
2016/06/05(日) 21:23:19.05ID:iCXItJy9書いてあるままでは動かなかったので何か変わったのかと
思ったのですが・・・
余計なことを聞いてしまいました。すみません。
0763デフォルトの名無しさん
2016/06/05(日) 21:25:22.94ID:qsF3lMoeなのでそれぞれが何を意味しているのかをMSDNで調べること
0764デフォルトの名無しさん
2016/06/05(日) 21:35:30.22ID:dW6xjbssコードが正確に書いてあるとは限らないんだから
0765デフォルトの名無しさん
2016/06/05(日) 21:36:58.09ID:iCXItJy9やっぱり間違っていたんですね。
ありがとうございました。
0766デフォルトの名無しさん
2016/06/05(日) 21:52:51.51ID:IVCEuXsF無茶苦茶意味が分かりました。
ありがとうございます。
インスタンスを生成した時点でフィールド変数が使えるのが当たり前だと
思っていました。
>>758
納得しました。
ありがとうございます。
0767748
2016/06/07(火) 21:58:40.15ID:bHkrxnR4平素は弊社書籍をご愛読いただき誠にありがとうございます。
お問い合わせいただいた『独習C#』ですが、現在のところ、改訂版の刊行予定はありません。
嬉しいお言葉をいただきましたが、ご要望にそえず申し訳ございません。
0768デフォルトの名無しさん
2016/06/07(火) 22:17:37.91ID:Ic9MVfcw0769デフォルトの名無しさん
2016/06/08(水) 19:07:19.10ID:i+ksoqK4使ったことはなかったのですが、業務で製造することになり、勉強しながらコーティングしました。
設計も自分でしなければならなく、最近レビューで指摘された点について聞きたいことがあります。
Javaと同じオブジェクト指向ということで、クラスを機能毎に部品化する構成にしたのですが、全部メインのクラスで記載しろと怒られました。
チェック処理や接続処理はメインとは別クラスで定義して(共通クラスは別)、関連する処理をまとめていたのですが、メインクラスでメソッド化しろということでした。
c#は共通化出来ない処理はメインクラスに記載するものなのでしょうか?
回答よろしくお願いします。
0770デフォルトの名無しさん
2016/06/08(水) 19:19:38.20ID:VyZOo5gpMSのガイドラインはあるけど、こうしなきゃいけないという言語上での明確なルールはない
0771デフォルトの名無しさん
2016/06/08(水) 19:29:29.09ID:i+ksoqK4回答ありがとうございます。
簡単なツール作成しかない現場なのでローカルルール以前にドキュメントもちゃんとしたものがありません。
ですから上司の趣味が反映されてるのだと思いますが、一般的にはどうなんでしょうか?
上司の意見を今後の現場でもいかす形にした方が得策ですか?
呼ぶところがメインクラスしかないならそこに全部書いて後のクラスはいらないという考えでいってもよいですか?
0772デフォルトの名無しさん
2016/06/08(水) 19:31:36.82ID:i+ksoqK4今後の現場とは別の現場でもと言う意味です。
今のコードは言われた以上その通りに修正します。
0773デフォルトの名無しさん
2016/06/08(水) 19:36:25.21ID:PgrTrwpQ統一解はない
嫌ならお前が権限持てるようになれ
0774デフォルトの名無しさん
2016/06/08(水) 19:39:15.17ID:i+ksoqK4回答ありがとうございます。
今後の参考させていただきます。
0775デフォルトの名無しさん
2016/06/08(水) 20:48:24.01ID:+wx9IEWm一般的にはまとまり毎にクラスをわけるよ。
ただ、その「まとまり」を決めるのも下手な人が多いから何ともかんとも…
結果、他人には全く意味のわからん構成になったりってのは良くある。
0776デフォルトの名無しさん
2016/06/08(水) 20:51:31.17ID:hRf4zQE4それ書かないと
0777デフォルトの名無しさん
2016/06/08(水) 21:02:29.50ID:bn6ZH89h0778デフォルトの名無しさん
2016/06/08(水) 21:16:32.04ID:7sTuzHDA0779デフォルトの名無しさん
2016/06/08(水) 21:25:56.16ID:eNSrjZZkその上司が手続き型の思想から抜け出せてないだけじゃね?
0780デフォルトの名無しさん
2016/06/08(水) 21:25:59.18ID:ftYHy+Ye0781デフォルトの名無しさん
2016/06/08(水) 21:56:47.15ID:JCsw0SON社内の一部部署で使用する簡単なツールです。
c#でフォームを作成して内部で処理を行う形です。
私としては隣の席で別のツールを保守している方がコメントほぼなしで複数クラスで好きなところで好きな機能を追加してるソースを難読しているのを見たので、機能毎に分けて階層に分けて可読性をあげたつもりでいましたがそうではなかったようです。
エラーコードもスタックトレースもいらないみたいで機能をもっと簡素に修正しています。
クラス図以前に基本設計書もないです。
0782デフォルトの名無しさん
2016/06/08(水) 21:59:32.45ID:JCsw0SON40代の方なんですが40代あたりの方はそういった思想をお持ちでらっしゃるのでしょうか?
私はまだ2年目で右も左もわからないのでとんちんかんなことを申していたらすみません。
0783デフォルトの名無しさん
2016/06/08(水) 22:07:10.66ID:3y8CtkkP使い捨てのブツにそんな手間かけてんじゃねえって話か
0784デフォルトの名無しさん
2016/06/08(水) 22:33:26.05ID:JCsw0SONそういうことですか
そういうことならわかります
それなら私は明らかにやりすぎだと思います
ただ期間が半年以上ある案件なのでちゃんとしたものを作るものだと思ってました
あとそのレビューした上司が気まぐれで機能の追加要望をたくさんしてくるのでちゃんと作らないといけないんだと思ってました
すっきりしました
ありがとうございます
0785デフォルトの名無しさん
2016/06/08(水) 22:36:38.64ID:JCsw0SONやってみますね!
皆さんありがとうございました!
0786デフォルトの名無しさん
2016/06/08(水) 22:45:26.10ID:qdGGttyt0787デフォルトの名無しさん
2016/06/08(水) 22:45:56.10ID:eY84h8RY0788デフォルトの名無しさん
2016/06/08(水) 22:49:52.58ID:HJbrEqaK簡単なツールで半年も食わせてもらえるなんて良い会社だな
0789デフォルトの名無しさん
2016/06/08(水) 22:53:21.60ID:zEmhDMcI0790デフォルトの名無しさん
2016/06/08(水) 23:05:51.83ID:JCsw0SONむしろ嫌みとかため息とか交えつつ更に色々ご指摘はありましたので減らしてるくらいです。
こういう現場もあるんですね。
0791デフォルトの名無しさん
2016/06/08(水) 23:07:57.11ID:JCsw0SON多分年下の派遣なのでなめてるところもあるんだと思います。
0792デフォルトの名無しさん
2016/06/08(水) 23:13:27.07ID:hYuWilJ00793デフォルトの名無しさん
2016/06/09(木) 00:13:27.84ID:dIu2vu4Fこれからどんな僕の考えた超案件が出てくるのか!?って所だったのに。
水差し野郎は帰れ。
0794デフォルトの名無しさん
2016/06/09(木) 09:00:16.52ID:d6OLtQuA中島聡さんの本読め
0795デフォルトの名無しさん
2016/06/09(木) 11:51:42.18ID:HUmtD/CQどうやったらいいのでしょうか。
参照だけなので、引数みたいにして渡しても良いのですが。
0796デフォルトの名無しさん
2016/06/09(木) 12:19:08.45ID:zMTnhTqEあなたが書きたいコードを書くとどんなエラーが表示される?
説明を聞いても時間の無駄臭がするので可能ならコードを貼るとよい
>usingステートメントの中の処理で、外部変数(string)を参照したいのですが、
>どうやったらいいのでしょうか。
usingステートメント内でもブロック外の変数は普通に使えるから
・試しもせずに聞いている
・質問で使用している単語の意味が間違っている(実はステートメントでなくディレクティブの話だとか)
だと思ってる
0797デフォルトの名無しさん
2016/06/09(木) 12:49:00.17ID:rSzdDcX2プログラム実行時に特定のコンポーネントにフォーカスをあてる事ができません。
textbox2つと、ボタン一つの配置なんですが、textbox1にフォーカスが当たって
挿入さえている文字が青くなっています。
this.textbox2.Focus();
とか
this.button2.Focus();
としても実行したら
textbox1にフォーカス当たっています。
buttn1.Focus()メソッドはtextbox1の処理(ファイルから読み込んでtextbox1に代入)
の後に実行してるので順番的に間違ってないと思います。
何が原因なんでしょうか?
0798デフォルトの名無しさん
2016/06/09(木) 13:05:58.85ID:HUmtD/CQご意見ありがとうございました。
自己解決しました。
外部変数を宣言しただけで、その場で初期設定をしていませんでした。
(その後、その変数に代入しているのですが、分岐に寄っては代入しないルートがありました)
エラーは「未割り当てのローカル変数が使用されました」というエラーでしたので、
てっきり宣言が無効になっているのかと思い込んでいました。
外部変数の中身を最初に設定したところ、
エラーが無くなりました。
>usingステートメント内でもブロック外の変数は普通に使えるから
上記のご教示が非常に助かりました。
ありがとうございました。
0799デフォルトの名無しさん
2016/06/09(木) 13:13:17.50ID:Xk8r++rRもしフォーム表示時の話ならFormのActiveControlプロパティを使う
0800デフォルトの名無しさん
2016/06/09(木) 13:25:44.81ID:rSzdDcX2ありがとうございます。それでできました。
ただ青のフォーカスだけ外したい場合とかはどうすればいいんでしょう?
つまりフォーカスは当たってるが全選択じゃなくて、例えば最初の行にカーソルがあるみたいじゃ状態です。
0801デフォルトの名無しさん
2016/06/09(木) 13:41:51.51ID:Us1sHYPZ0802デフォルトの名無しさん
2016/06/09(木) 13:45:47.79ID:rSzdDcX2それでできました。
ありがとうございます。
0803デフォルトの名無しさん
2016/06/09(木) 15:03:14.73ID:j0nSzaITFocus()よりSelect()を使用した方がいいの?
ググっても違いがよくわからなかった
0804デフォルトの名無しさん
2016/06/09(木) 15:32:59.62ID:4d6gOGafコンテナとしてパネルをフォームに持っていったのですが、
もともとフォームに置いてあったコンポーネントは当然隠れてしまって、
パネル上のコンポーネント編集時はパネルをどけてしなければならないため
非常に困ってしまいます。編集でも画面切り替えとかできないでしょうか?
0805デフォルトの名無しさん
2016/06/09(木) 17:03:20.25ID:z6PV8A5qこれはLoadイベントのこれだからじゃね
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/226winloadfocus/winloadfocus.html
0806デフォルトの名無しさん
2016/06/09(木) 18:15:55.96ID:9W1UvE24もっと分かりやすく説明してくれ
0807デフォルトの名無しさん
2016/06/09(木) 18:24:51.40ID:4d6gOGafいや編集の話じゃない?
パネルを何枚も用意してAパネルを編集してるときはBパネルが下になって
編集できないわけじゃん。編集するときにパネル切り替えられたらいいな
って事じゃない?
0808デフォルトの名無しさん
2016/06/09(木) 18:29:35.91ID:4d6gOGaf0809デフォルトの名無しさん
2016/06/09(木) 18:30:27.99ID:5vameOh50810デフォルトの名無しさん
2016/06/09(木) 18:31:25.23ID:EJkn726OThrowIfCancellationRequested() の
OperationCanceledExceptionをtryが拾ってくれません。
MSDNのサンプルコードを実行してもハンドルされませんでしたと止まってしまいます。
とりあえずキャンセル処理がしたいですどなたか教えて下さいお願いします。
以下サンプルコードのURLとスクショです
https://msdn.microsoft.com/ja-jp/library/ee256691(v=vs.110).aspx
http://i.imgur.com/GK3muca.png
0811デフォルトの名無しさん
2016/06/09(木) 18:45:29.62ID:E80o1KTN継続タスクで拾わないと、かな。
0812デフォルトの名無しさん
2016/06/09(木) 19:15:57.08ID:WcxAae3H0813デフォルトの名無しさん
2016/06/09(木) 19:38:42.28ID:EJkn726O継続タスクで拾うとは具体的にどうやるのでしょう。。
とりあえず自己?解決しました。
以下のサイトを参考にして実装したら拾えました。
http://qiita.com/habu1010/items/08177698fa3826474c0b
デバッグモードだとタスクの実行スレッドでしか拾えないみたいで、
asyncメソッドにすることで拾えました。
0814デフォルトの名無しさん
2016/06/09(木) 19:56:43.95ID:9W1UvE24コンポーネントが配置される場所ってフォームデザイナから分離されていて
コンテナの後ろに隠れることって有り得ないんだけど
0815デフォルトの名無しさん
2016/06/09(木) 20:03:37.12ID:aZAcTU7I�@this.をつけない
�A1000回以上にもなるループなのにメソッドの中で
変数宣言&オブジェクト作成
これってあまりよくないですか?�@はthis.つけてもつけなくても
一緒なんであまり気にしてません。
�Aはメモリは破壊されそうな気がしますが、破壊されてません。
後1年やってて永遠に解けない謎があって時刻を取得するメソッドあるじゃないですか?
それをWriterメソッドでファイル書き込みとかできるのに、string型の変数に代入する時は
toString()メソッドもつけないといけないのは何故ですか?
多くなりましたがお願いします!
0816デフォルトの名無しさん
2016/06/09(木) 20:03:46.10ID:I0xSoWZWパネル上のコントロールを視覚的にドラッグとかで移動できないってことじゃないの
設定そのものは視覚的に隠れていても数値で調整できるけど
0817デフォルトの名無しさん
2016/06/09(木) 20:11:22.56ID:I0xSoWZW�@必要ならビルド時に補完される
�A1000回くらいじゃ影響しない。心配なら一度エラー出るまでループさせてみればいい
0818デフォルトの名無しさん
2016/06/09(木) 20:15:54.15ID:aZAcTU7Iなんだ、大丈夫なんですか安心しました。
後toString()の件に関してもお願いします。
0819デフォルトの名無しさん
2016/06/09(木) 21:02:55.16ID:Zt6wg//dhttps://googledrive.com/host/0B09Oeh15KtfKVkhFeTQ5MHJWV00/kui.html
0820デフォルトの名無しさん
2016/06/09(木) 21:10:13.22ID:j8GQZnx9この答えで�Aが大丈夫と
判断するのかよ
0821デフォルトの名無しさん
2016/06/09(木) 21:30:55.07ID:W5VdNr2f0822デフォルトの名無しさん
2016/06/09(木) 21:44:49.75ID:aZAcTU7Ibitmap作りまくったらエラーでました
0823デフォルトの名無しさん
2016/06/09(木) 21:45:05.27ID:aZAcTU7I0824デフォルトの名無しさん
2016/06/09(木) 21:57:44.27ID:W5VdNr2fdisposeしても起こるんかね
俺も試してないからしらんけど
tostringは、writer系のメソッドは引数をobject型として受けとって中でToString呼んでるだけでしょ
0825デフォルトの名無しさん
2016/06/09(木) 22:03:48.52ID:9W1UvE24var bmp = new Bitmap(1024, 1024);
}
AnyCPCだと例外が発生、x64だとメモリを限界まで使ったタイミングでGCが動いて例外は起こらず
ちなみにAnyCPUでもDisposeしてあげれば問題なく動作したよ
0826デフォルトの名無しさん
2016/06/09(木) 22:12:13.72ID:aZAcTU7Iなんだそれだけの話ですか…そりゃそうですよね。
>>825
でも同じ名前でbmp作るならフィールドで宣言&初期化すればいいってことですよね?
0827デフォルトの名無しさん
2016/06/09(木) 22:34:15.47ID:Uf/9VKKEfor (int i = 0; i < 10000; i++)
{
using (var bmp = new Bitmap(1024, 1024))
{
// do something
}
}
0828デフォルトの名無しさん
2016/06/09(木) 22:51:36.76ID:aZAcTU7IそうしたらGCいらないんですか?めっちゃ便利じゃないですか。
usingって名前空間の時以外も用途あったんだww
0829デフォルトの名無しさん
2016/06/09(木) 23:04:52.49ID:WcxAae3H0830デフォルトの名無しさん
2016/06/09(木) 23:18:27.96ID:9CiI4q9m0831デフォルトの名無しさん
2016/06/09(木) 23:28:10.57ID:4ziM9LITusingステートメントの部分だけを抜粋すると
using (var bmp = new Bitmap(1024, 1024))
{
// do something
}
この部分は以下と等価だからな
{
var bmp = new Bitmap(1024, 1024))
try{
// do something
}finally{
if (bmp != null)
((IDisposable)bmp).Dispose()
}
}
usingステートメントの内側で例外が出ようが参照をどこかに渡そうが、スコープを抜ける前に必ずDisposeが呼ばれるってだけ
0832デフォルトの名無しさん
2016/06/09(木) 23:29:52.05ID:WcxAae3HVC6時代黙ってメモリリークがデフォのビットマップオブジェクトさんとは思えない
0833デフォルトの名無しさん
2016/06/10(金) 02:19:04.67ID:LNKPTnCWおいおいw
0834デフォルトの名無しさん
2016/06/10(金) 07:03:34.30ID:7xQ2IbxDなんのクラスの話か知らんけど Dispose は何回呼んでもエラーにならないように作る必要があるから単にそのクラスの作りが悪いだけ
0835デフォルトの名無しさん
2016/06/10(金) 08:17:48.78ID:+nPgV/v1Disposeが呼ばれる(メモリリークしないとは言ってない)
0836デフォルトの名無しさん
2016/06/10(金) 08:27:07.96ID:H2hb5b9qvoid Update () {
UpdateInit();
}
のUpdateInit()を一回だけ呼ばれるようにしたい。
呼ばれたかどうかを記録しておく変数を使わない方法でお願いします
0837デフォルトの名無しさん
2016/06/10(金) 08:37:03.95ID:+nPgV/v10838デフォルトの名無しさん
2016/06/10(金) 10:08:42.48ID:1N9rkK15text.txtが
3
5
3
3
15
3
ってなっていて
一行の数値によって書き込む値を変えたいのです。
処理後のtext.txtが
3 f
5 b
3 b
3 b
15 fb
3 b
こうしたいです。一回のファイルオープンでここまでしたいんですが方法はありますか?
0839デフォルトの名無しさん
2016/06/10(金) 10:19:32.21ID:1N9rkK15そして書き込むのもtext.txtです。
0840デフォルトの名無しさん
2016/06/10(金) 10:26:26.53ID:/LsXOlRl0841デフォルトの名無しさん
2016/06/10(金) 11:12:19.55ID:o8hFzx97それで、1行ずつ処理したらいい
Groovyなら、
new File(ファイル名).eachLine{
1行ずつ処理する
}
0842デフォルトの名無しさん
2016/06/10(金) 11:17:34.61ID:v3l5zM/R0843デフォルトの名無しさん
2016/06/10(金) 11:38:51.81ID:loCDy4/K>> Dispose は何回呼んでもエラーにならないように作る必要がある
これってどこかで明文化されてる?
StreamクラスはObjectDisposedExceptionを返すが。
0844デフォルトの名無しさん
2016/06/10(金) 11:56:47.61ID:Xg/7mAh6MSDNの「Dispose メソッドの実装」にも「Stream.Dispose メソッド (Boolean)」にも
> StreamクラスはObjectDisposedExceptionを返すが。
マジ?
using (FileStream stream = new FileStream(...))
using (StreamReader reader = new StreamReader(stream)) {
}
って書いても発生しないけど
Streamの具象クラスの実装がクソな場合は知らん
>>830はDispose後に他の箇所でオブジェクトが使用された場合を言ってるのに
>>834はなんか違う方向いってるけど
0845デフォルトの名無しさん
2016/06/10(金) 11:56:53.11ID:NH/j1o1jhttps://msdn.microsoft.com/ja-jp/library/fs2xkftw(v=vs.110).aspx
>Dispose メソッドが複数回呼び出される場合でも、例外をスローすることなく呼び出されるようにして、
>リソースが常に適切にクリーンアップされるようにする必要があります。
0846デフォルトの名無しさん
2016/06/10(金) 12:06:47.45ID:gPSz5PfRttps://msdn.microsoft.com/ja-jp/library/system.objectdisposedexception(v=vs.110).aspx
>You've called an object's Dispose method multiple times. Typically, this doesn’t throw an exception.
> However, depending on how a type implements IDisposable.Dispose, it may not allow multiple calls to Dispose.
0847830
2016/06/10(金) 12:07:19.52ID:v3l5zM/R0848デフォルトの名無しさん
2016/06/10(金) 12:40:55.23ID:loCDy4/KStreamの件は他のクラスと勘違いだったかも。
そのコードだとコード分析でDispose済みなのにまた呼んでると指摘されるが。
0849デフォルトの名無しさん
2016/06/10(金) 12:48:38.57ID:7xQ2IbxD安全をとりたいなら
1. 元ファイルを読み出し専用で開く
2. 結果ファイルを他のファイルと被らない適当な名前で開く
3. 色々処理する
4. 結果ファイルを閉じる
5. 元ファイルを閉じる
6. 元ファイルを削除
7. 結果ファイルを元ファイルの名前にリネーム
ぐらいやればいいかと
0850デフォルトの名無しさん
2016/06/10(金) 14:45:56.49ID:3XF57Aki0851デフォルトの名無しさん
2016/06/10(金) 17:46:12.45ID:maayxVio自由な形のフォームとかいっぱい作れたんですがこればかりは作れません。
0852デフォルトの名無しさん
2016/06/10(金) 18:08:48.19ID:XqAkh7YW0853デフォルトの名無しさん
2016/06/10(金) 18:21:35.70ID:UXKBfHvoそんなものは存在しないよ
0854デフォルトの名無しさん
2016/06/10(金) 18:25:24.80ID:tBsnkYQh0855デフォルトの名無しさん
2016/06/10(金) 18:36:36.46ID:gPSz5PfR0856デフォルトの名無しさん
2016/06/10(金) 19:00:34.48ID:maayxVioそうです。タスクバーです。
>>855
それだと、あらゆるアプリよりは上になりますが
タスクバーよりは上にならないです。
タスクバーの下に、もぐりこんでしまいます。
0857デフォルトの名無しさん
2016/06/10(金) 19:05:56.19ID:UXKBfHvo0858デフォルトの名無しさん
2016/06/10(金) 19:53:06.25ID:maayxVio最大化しないと全面覆い尽くさないですか??
0859デフォルトの名無しさん
2016/06/10(金) 20:28:00.58ID:Xg/7mAh6まあAlt+Tabには無力だけどな
0860デフォルトの名無しさん
2016/06/10(金) 20:29:24.25ID:maayxVioうーん、やっぱり無理ですか…
あきらめます。
0861デフォルトの名無しさん
2016/06/10(金) 21:37:43.29ID:Uf5x2moL0862デフォルトの名無しさん
2016/06/10(金) 23:17:55.15ID:gp2r5Xkg0863デフォルトの名無しさん
2016/06/10(金) 23:48:07.86ID:v3l5zM/R0864デフォルトの名無しさん
2016/06/11(土) 00:32:21.40ID:rbw9FdPt0865デフォルトの名無しさん
2016/06/11(土) 00:35:08.18ID:lnESUWRR0866デフォルトの名無しさん
2016/06/11(土) 07:24:40.16ID:TH7fz8sf知ってるか?
OSが正しく動くかどうかもMSの努力目標なんだぞ
0867デフォルトの名無しさん
2016/06/11(土) 08:01:43.41ID:rZNn/NzXコードが短くなるわけでもないし
0868デフォルトの名無しさん
2016/06/11(土) 08:24:46.07ID:Z1WdmHmp単体の「関数」をオブジェクト指向に持ち込むために必要な概念なんだよ
0869デフォルトの名無しさん
2016/06/11(土) 08:25:28.78ID:Tx4f1KSS0870デフォルトの名無しさん
2016/06/11(土) 09:12:28.70ID:lnESUWRRJavaみたいにインターフェース実装でハンドラ書いてればええねん
くだらねーから誰もやらないだけ
0871デフォルトの名無しさん
2016/06/11(土) 12:00:15.07ID:rZNn/NzXデリゲートは逆に長くなるでしょ
0872デフォルトの名無しさん
2016/06/11(土) 12:10:24.45ID:ok9Deq8Vそこではインターフェースとデリゲートが逆なんじゃないかな。
そう考えると辻褄が合う。
0873デフォルトの名無しさん
2016/06/11(土) 12:10:52.57ID:ok9Deq8V0874デフォルトの名無しさん
2016/06/11(土) 12:55:46.27ID:lgT+/pX6インターフェースとデリゲートについてお勉強しましょうね
0875デフォルトの名無しさん
2016/06/11(土) 12:55:52.13ID:UrhoFmDhデリゲートは詳細設計に収まるもの。
0876デフォルトの名無しさん
2016/06/11(土) 13:00:46.45ID:zQSzsO40簡単に説明できる自信がないわ
0877デフォルトの名無しさん
2016/06/11(土) 13:01:10.18ID:zQSzsO400878デフォルトの名無しさん
2016/06/11(土) 13:02:03.76ID:CAnivsr5C#全体の話なら用途はあるし、特定のコード見て何のために使っているのかわからないって話ならそのコード見せてもらわないとわからない
0879デフォルトの名無しさん
2016/06/11(土) 14:00:29.43ID:nDqmxx7q0880デフォルトの名無しさん
2016/06/11(土) 14:16:10.66ID:Hyf/8k7xinterface → 1つのクラス(複数の関数)が対象
0881デフォルトの名無しさん
2016/06/11(土) 15:14:38.04ID:M2w6cwzfイマイチ使い道(メリット)が分からないし、結局、継承で足りてるから使う機会がない
0882デフォルトの名無しさん
2016/06/11(土) 15:18:16.88ID:lXRr6U8R0883デフォルトの名無しさん
2016/06/11(土) 15:24:59.59ID:rZNn/NzXコード1時間くらいじっくりみたら割と便利な事に気づきました。
勉強不足だったなぁ…
もう一つ質問があるんですがaddrectangleしたらフレームの始点が
フォームとずれるんだけど、フォームの始点とフレームの始点が一致するにはどうすればいいですか?
Addrectangle(0,0,100,100);としても0,0はフォームの始点とかけ離れた場所でなんでこうなるか分からない…
0884デフォルトの名無しさん
2016/06/11(土) 15:25:42.41ID:rZNn/NzX0885デフォルトの名無しさん
2016/06/11(土) 16:56:29.84ID:8NRXSO1X一人でちょこっとしたもの作るならまどろっこしいだけだし
データベースを扱ったりゲームを作るとなるとインターフェースがないとわけがわからなくなる
昔作ったクラスで内部がどうだったか忘れてても、インターフェースがあればメソッドに引数として渡すときに安心感がある
また、クラスの内部は全く違うが同じような機能のクラスを新たに作る時も、インターフェースがあれば何を実装すればいいかすぐわかるし
利用する側も何も変更しないで済む
継承の場合は似通ったクラスを作る場合にはいいだけで、全く異なるもののは作れない
0886デフォルトの名無しさん
2016/06/11(土) 16:58:34.52ID:a+ZDFNuDそーゆーのはママにお話ししてやれ
0887デフォルトの名無しさん
2016/06/11(土) 17:09:38.10ID:8NRXSO1Xまたインターフェースを通してみることで、必要な関数だけがインテリセンスの候補に出てわかりやすい
あと変更にも強い
継承の場合は基底クラスから利用される側を意識して設計しないといけないし、容易に変更できなくなる
0888デフォルトの名無しさん
2016/06/11(土) 18:23:36.57ID:yOWcUuC3つまり、抽象基本クラスとインターフェイスの使い分け議論をここでやれという話だ
0889デフォルトの名無しさん
2016/06/11(土) 18:43:42.07ID:4X5sD14gc#を勉強し始めるにあたってどのようなことを理解すればいいのでしょうか
gtk#を使うつもりです
0890デフォルトの名無しさん
2016/06/11(土) 18:49:05.11ID:4X5sD14g0891デフォルトの名無しさん
2016/06/11(土) 19:36:36.46ID:4X5sD14gどうしたらいいのでしょうか
monodevelopです
0892デフォルトの名無しさん
2016/06/11(土) 19:43:31.88ID:Hyf/8k7x0893883
2016/06/11(土) 19:44:00.25ID:rZNn/NzXAddrectangleクラスについて引数の説明とかどこにものってないんですが
どこにありますか?
0894デフォルトの名無しさん
2016/06/11(土) 20:11:15.99ID:Hyf/8k7x0895デフォルトの名無しさん
2016/06/11(土) 21:54:45.18ID:eTbCo1xWなんか目的が絞れてない失敗プロジェクトみたいなこと言うね
0896デフォルトの名無しさん
2016/06/11(土) 21:56:01.43ID:4X5sD14gなぜでしょうか?
解決方法教えてください
0897デフォルトの名無しさん
2016/06/12(日) 02:04:43.96ID:ssLbnOjsできないじゃなくて具体的な症状を書けよ
0898デフォルトの名無しさん
2016/06/12(日) 10:01:04.29ID:KbNpxS4Jパネル1にコンポーネントが20個程、パネル2にコンポーネントが20個程あって
パネル編集時だけパネルをずらすやり方だとあまりにも非効率で…
もちろんプロパティウインドウで編集すればいいということもありますが、
見た目がどうなってるか常に把握したうえで編集したいので…
こういう悩みってみなさんもってないんでしょうか?
0899デフォルトの名無しさん
2016/06/12(日) 10:16:06.55ID:wJ9RNQRXコードを直接書き換えるのが最も効率的
0900デフォルトの名無しさん
2016/06/12(日) 10:18:38.30ID:Wwtvnd71パネルごとにユーザーコントロール作れ
あとコンポーネントじゃなくてコントロールね
別物だから間違えたらあかんよ
0901デフォルトの名無しさん
2016/06/12(日) 10:31:59.74ID:toyrviLz誰もが自分ほどの馬鹿だと思うなよ
性格が透けてるぞ
0902デフォルトの名無しさん
2016/06/12(日) 11:23:17.74ID:ciYaajKnデバックで1回ずつステップ進んでるとそんなことはないんだけど、
finally部分にブレークポイントを置くと必ず2回ポイントでとまる
0903デフォルトの名無しさん
2016/06/12(日) 11:40:45.14ID:UH8U39Dc0904デフォルトの名無しさん
2016/06/12(日) 11:47:11.73ID:wJ9RNQRX0905デフォルトの名無しさん
2016/06/12(日) 11:49:21.04ID:cYMq63CBsystem.timerのようなもの使えないんですかね
0906デフォルトの名無しさん
2016/06/12(日) 11:52:08.08ID:Wwtvnd710907デフォルトの名無しさん
2016/06/12(日) 12:03:07.05ID:0kklJYvNMONO専用の話なら専用のスレ行ってくれ
【消しゴム】MONOを使ってみるスレ4【じゃない】
http://echo.2ch.net/test/read.cgi/tech/1329023778/
0908デフォルトの名無しさん
2016/06/12(日) 18:53:14.14ID:TTE4zTm9mainちんちんで、thisisinmain=thisisinmain+3;というコードの前後でop1();とop2();を実行したい場合でも
op1();
thisisinmain=thisisinmain+3;
op2();
と書くのは嫌な場合です。
0909デフォルトの名無しさん
2016/06/12(日) 18:56:55.23ID:TTE4zTm90910デフォルトの名無しさん
2016/06/12(日) 19:12:37.02ID:bKLIDmXPいまいち言いたいことが分からないけど、多分デリゲート使えば良さそう。
0911デフォルトの名無しさん
2016/06/12(日) 19:14:42.06ID:UH8U39Dc{
op1();
act();
op();
}
Execute(delegate{thisisinmain=thisisinmain+3;});
0912デフォルトの名無しさん
2016/06/12(日) 19:26:32.20ID:6jjwfwovなんで嫌なの?
必要ならちんちんまる出しで置いておけばいいじゃない
0913デフォルトの名無しさん
2016/06/12(日) 19:30:03.96ID:ZP+Ld+NZ見た目が変わるだけでメリット無いと思うけど
0914デフォルトの名無しさん
2016/06/12(日) 19:51:43.52ID:BQi8pH5Pそうしないと前後の処理を毎回コピペすることになって変更に弱くなる
0915デフォルトの名無しさん
2016/06/12(日) 19:52:21.10ID:wJ9RNQRXこれカッコ良い名前があったと思うんだが忘れちゃった
何パターンっていうんだっけか?
0916デフォルトの名無しさん
2016/06/12(日) 19:59:11.18ID:TTE4zTm9いやact()はめいnルーチンで書きたい場合でもあります。
それだとact()を自由に変えたいんで。
0917デフォルトの名無しさん
2016/06/12(日) 20:06:34.36ID:Cl0nNgTD0918デフォルトの名無しさん
2016/06/12(日) 20:08:07.27ID:5tI8xZP3質問するのに相手に伝わる言葉遣いができるようになってから掲示板を使ってください
0919デフォルトの名無しさん
2016/06/12(日) 20:13:31.71ID:toyrviLz0920デフォルトの名無しさん
2016/06/12(日) 20:15:23.25ID:Wwtvnd710921デフォルトの名無しさん
2016/06/12(日) 20:37:15.20ID:cSvEa/ak0922デフォルトの名無しさん
2016/06/12(日) 21:42:37.50ID:YZpgYPVa英語で書き込めば答えてもらえるかも
0923デフォルトの名無しさん
2016/06/12(日) 21:49:22.15ID:wJ9RNQRX0924デフォルトの名無しさん
2016/06/12(日) 22:04:36.95ID:bKLIDmXPact()はAction型(delegate)なので、呼び出す側で内容を記述するってのは分かってる?
0925デフォルトの名無しさん
2016/06/12(日) 22:05:55.01ID:LaIJ0T8w0926デフォルトの名無しさん
2016/06/12(日) 22:13:02.26ID:CgGw3ce+Template Methodの変形だね
この場合は、Executeメソッド側が何らかのアルゴリズムを使うというよりは
actに対して何らかの共通の枠組みを提供するという意味合いなので、中二病患者の大好きなStrategyとはちょっとニュアンスが違う
0927デフォルトの名無しさん
2016/06/12(日) 23:10:47.73ID:qeDJYiqGワロタwww
0928デフォルトの名無しさん
2016/06/13(月) 00:03:24.74ID:xg7b6yQwoh miss spell
fuck you
0929デフォルトの名無しさん
2016/06/13(月) 00:15:49.10ID:dwqTuXqI0930デフォルトの名無しさん
2016/06/13(月) 00:23:28.07ID:TROc7XEg0931デフォルトの名無しさん
2016/06/13(月) 06:42:40.90ID:F57zXF/b飛ばしてる部分はそれだけで閉じてる領域です。
goto label1;
処理
label1:
これでエラー出るのおかしいですよね?
0932デフォルトの名無しさん
2016/06/13(月) 07:11:14.01ID:sZkamf5q0933デフォルトの名無しさん
2016/06/13(月) 07:20:11.46ID:A4rClN+m> goto使ったらエラーが出るんだが何故だ…
エラーメッセージぐらいは書こうよ...
0934デフォルトの名無しさん
2016/06/13(月) 07:27:58.89ID:VwakxQ4bgoto label1;
処理1
label1:
処理2
}
でエラーなら処理2になにかあるし
goto label1;
処理1
label1:
}
ならだめな書きかただし
後はlabel1の名前を他で使っていればエラーになる
それ以外ならエラーの内容とかわからないとどうしようもない
0935デフォルトの名無しさん
2016/06/13(月) 07:29:24.17ID:F57zXF/b括弧がどうのこうの…
処理自体はforのワンループで
for(){}とちゃんと括弧の数もあってる
0936デフォルトの名無しさん
2016/06/13(月) 07:32:12.01ID:VwakxQ4bそこだけ確認するんじゃなくて他の場所で括弧の数がおかしくてもエラーになる
全部確認して絶対に問題ないのならVSのバグだw
0937デフォルトの名無しさん
2016/06/13(月) 07:46:04.30ID:Kbo7MWEOVSはただのコンテナ
0938デフォルトの名無しさん
2016/06/13(月) 07:59:58.81ID:F57zXF/bこの二つのコンストラクタはどちらが先に呼ばれて、どちらで変数作成したほうがいいですか?
二つの違いが、両方コンストラクタという以外にはよくわかりません。
0939デフォルトの名無しさん
2016/06/13(月) 08:09:19.93ID:NQruxeQuどっちが先って自分で動かしてみれば確認できるだろに
InitializeComponent();が入っているほうが先だ
変数はどこで作ろうがその前に使おうとしないのなら関係ない
goto関係なくなったし質問するのなら一旦整理してからにしてくれ
0940デフォルトの名無しさん
2016/06/13(月) 08:10:52.55ID:A4rClN+m> 括弧がどうのこうの…
お前さんの記憶じゃなくて「エラーメッセージ」を書いてくれ
0941デフォルトの名無しさん
2016/06/13(月) 08:14:40.79ID:VibUSuOG0942デフォルトの名無しさん
2016/06/13(月) 08:20:47.08ID:AW6DSAHHメソッド内にtry書いていますが、その呼び出し元もtryで囲ってます
呼び出し元のtryを抜ける際にもメソッド内のfinallyが呼び出されるってことですか?
0943デフォルトの名無しさん
2016/06/13(月) 08:47:05.02ID:F57zXF/bありがとうございます。
もう一つこれが原因ではないかと思うことを見つけました。
Graphics gとビットマップ作成はどちが先ですか?
ビットマップ自体はメソッド外?で宣言してるのでエラーは出ませんでした。
というかメソッド以外の領域をなんて呼ぶかわかりません。
変数宣言する場所です。
0944デフォルトの名無しさん
2016/06/13(月) 08:48:30.78ID:rjOkmHEm0945デフォルトの名無しさん
2016/06/13(月) 09:14:06.44ID:dwqTuXqI0946デフォルトの名無しさん
2016/06/13(月) 11:14:52.64ID:F57zXF/bいやまじで本当に駄目になりました。
gotoのエラーは結局回避できないのでifで処理部分を括ることにしました。
そうしたらエラーが出なくなった…
それと致命的なのがCPU使用率です。
プログラムを実行して何もしてないのに使用率が30%くらいに高くなります。
でフォームの動きがかくかくしてとてもじゃないけど操作できない状態です。
プログラム自体にエラーはありません。なんでこうなるんだ…
0947デフォルトの名無しさん
2016/06/13(月) 12:29:09.62ID:4jWszspe0948デフォルトの名無しさん
2016/06/13(月) 12:30:39.83ID:f1JUq743Visual Studio使っているならパフォーマンス計測でどこがネックなのか判ると思うけど
0949デフォルトの名無しさん
2016/06/13(月) 12:52:26.11ID:4jWszspe大方再描画イベント使わないで無限ループ内にDoEvents置いたんじゃねえの
0950デフォルトの名無しさん
2016/06/13(月) 12:55:43.02ID:zCcg+E5c原因どうやら1000ms間隔でイベント呼び出してるからでした…
ただこのイベントどうしても必要なんだけどさ
で処理部分だけマスクかけたんですけど、これでも3%
どうやら3%でも使用してたらウインドウはカクカクになるという事が判明。
どうしようもないなw
0951デフォルトの名無しさん
2016/06/13(月) 14:04:51.31ID:saENrFgc0952デフォルトの名無しさん
2016/06/13(月) 15:12:08.03ID:lL3kzSBH「イベント部分消して何もしてないのに…」→
0953デフォルトの名無しさん
2016/06/13(月) 15:59:49.92ID:n6b4Ey0V0954デフォルトの名無しさん
2016/06/13(月) 16:28:10.04ID:CLrG2+S3つまりデザインパターンがあるってこと?
配置のデザインパターンなんて聞いた事ないし、配置が想像できなけりゃ複雑になるのは
目に見えてないかな?
ちょっと配置のテクニックとやらある人は教えてください。
0955デフォルトの名無しさん
2016/06/13(月) 16:42:41.84ID:Bs7iTb+90956デフォルトの名無しさん
2016/06/13(月) 17:21:14.31ID:5cZImS9xルールをプログラムで記述するというだけの話だろ
風水を元に金運アップするような配置にしてますって?
そんなオカルトは知らねえ
0957デフォルトの名無しさん
2016/06/13(月) 17:31:55.13ID:6tTSv22Agotoはエラーでないし、3%程度ならウインドウカクカクしない
お前の書き方が悪いかパソコンが壊れてるだけ
再現するソースを貼れ
0958デフォルトの名無しさん
2016/06/13(月) 17:36:52.69ID:3GnWQ7Y+ってのは
ワープロなんか使わない、TeX
で書ける
と同じ事言ってるようにしか見えない
0959デフォルトの名無しさん
2016/06/13(月) 17:38:19.99ID:6tTSv22A消してもいいぐらい
0960デフォルトの名無しさん
2016/06/13(月) 17:42:52.57ID:Qccnndsn使う使わないの問題じゃなく使えない
0961デフォルトの名無しさん
2016/06/13(月) 18:20:54.10ID:CLrG2+S3違うでしょう…実行されてからじゃないと確認できないから
コードだけなら空間的把握必要でしょ
texはリアルタイムで結果が見れるわけだし
0962デフォルトの名無しさん
2016/06/13(月) 18:36:26.24ID:sgVfUanQ横レスだけど
>呼び出し元のtryを抜ける際にもメソッド内のfinallyが呼び出されるってことですか?
そのfinallyにかかっているtryを実行しないと呼び出されない。というか実行されると困るw
tryの中が実行されているか確認はした?
あとは関係ないだろうけどtry-finallyだけでcatchが入っていないと動作がずれる事はあるかもしれない
0963デフォルトの名無しさん
2016/06/14(火) 10:02:24.11ID:TWaLywtQ2000年を境に業務系なんかはすべてC#にマイグレーションすればよかったんじゃないの?
0964デフォルトの名無しさん
2016/06/14(火) 10:10:58.17ID:om3am9C10965デフォルトの名無しさん
2016/06/14(火) 10:59:32.89ID:HyXaZR8rさすが仕事と権益を守るために非効率重視でシステムを構築してきただけあるぜ
0966デフォルトの名無しさん
2016/06/14(火) 12:08:27.69ID:TWaLywtQ非効率でない状態とか環境変えたらすぐ実現できるのに
つまりC#使えってことだ
0967デフォルトの名無しさん
2016/06/14(火) 13:07:22.67ID:wn5Rvnisクラス名だけ書いて指定する方法ないですか
C#6.0のusing staticみたいな感じです
0968デフォルトの名無しさん
2016/06/14(火) 13:13:19.60ID:WQRG50qNC#はあくまでツールなんだから、そこに拘るのはかえって危ない。
0969デフォルトの名無しさん
2016/06/14(火) 13:20:09.77ID:WQRG50qNusing MyClassA = SpaceA.MyClass;
using MyClassB = SpaceB.MyClass;
みたいな感じ?
0970デフォルトの名無しさん
2016/06/14(火) 13:20:53.80ID:TWaLywtQ仕様があがってきて設計も出来上がって何で3か月もかかるんだ??
10人でやれば3日で終わるだろ
0971967
2016/06/14(火) 14:14:16.60ID:wn5RvnisそれでSpaceAとかSpaceBを書かないで済む方法です
(必ずSpaceAを使うのでプログラム中に醜いものを書きたくない)
0972デフォルトの名無しさん
2016/06/14(火) 14:21:57.27ID:ezeB3LKI問題は予算がないくせにスパイラルモデルを要望することだ
0973デフォルトの名無しさん
2016/06/14(火) 15:02:22.30ID:MRq7ktmJ長いコードになると邪魔になったりするんですよね。
だからといって外部ファイルに書くとかいうのは嫌で関数名だけは残したいです。
0974デフォルトの名無しさん
2016/06/14(火) 15:04:51.60ID:MRq7ktmJVisual C#しかないんでしょうか?C#の環境って
0975デフォルトの名無しさん
2016/06/14(火) 15:09:08.60ID:XtfD9MW7コードの左側に+-が出てくるから、それで開いたり畳んだり
0976デフォルトの名無しさん
2016/06/14(火) 15:28:32.38ID:MRq7ktmJありがとうございます。簡単にできました…
それとVisual C#以外に環境ってありますか?
企業でもVisual C#は無料だらか使ってる会社とか多いんですか?
0977デフォルトの名無しさん
2016/06/14(火) 15:46:53.84ID:w9kzPC6hIDEなら方々で色々と作られてるよ、でもWindowsなら定番じゃない?
しかしVisual Studioが無償といってもExpressとCommunityだけね
Expressは必要最低限だが制限なし、Communityは商用だと中小に限られる
0978デフォルトの名無しさん
2016/06/14(火) 15:51:08.26ID:vOi86cHg深さが分かるような機能とかもあるんでしょうか?
例えばメソッドの一行目は名前空間→クラス→メソッドだから深さ=3みたいにです。
これがあれば相当便利だと思っているんでどうやったらできるかなーって考えてるんですが…
0979デフォルトの名無しさん
2016/06/14(火) 15:53:52.33ID:WHfw/DzZ今試せないけど、
using MyClass = SpaceA.MyClass;
で行けないかな?
0980デフォルトの名無しさん
2016/06/14(火) 20:03:03.06ID:xiGT+SXkレギオン
0981デフォルトの名無しさん
2016/06/14(火) 20:13:10.74ID:z1PnlM/s無いと思うからブロックの位置関係は自分で把握してくれw
>>980
それじゃわかりにくいw
#region
https://msdn.microsoft.com/ja-jp/library/9a1ybwek.aspx
折りたたみのブロック指定できるけど>>975で十分だったんじゃね
あと次スレよろしく
0982デフォルトの名無しさん
2016/06/14(火) 20:21:45.97ID:wn5Rvnisいけました! まじでありがとうございます。
掘られてもいいです
0983デフォルトの名無しさん
2016/06/14(火) 20:30:29.81ID:36ZLoM1cusing MyClassB = SpaceB.MyClass;
みたいな感じ?
↓
違います。SpaceAとか書かないで済むようにしたいです。
↓
using MyClass = SpaceA.MyClass;
こう?
↓
そうです
この流れ意味不明なんだけどC#上級者にはわかるの?
0984デフォルトの名無しさん
2016/06/14(火) 20:32:26.59ID:om3am9C1最初のレスの意味を理解できてなかっただけでしょ
0985デフォルトの名無しさん
2016/06/14(火) 22:14:20.65ID:VJ/4c5wE言語の進化に上流が取り残されてるから仕方ない
下流は普段からプルグラム書いてるからよく分かってるけど上流は遊び半分で仕事してるから分からないんだよ
で、上流が古典的で非効率な設計をするから言語の力を発揮しにくい
0986デフォルトの名無しさん
2016/06/14(火) 22:17:42.16ID:pnd2hkXl0987デフォルトの名無しさん
2016/06/14(火) 22:37:16.88ID:VJ/4c5wE0988デフォルトの名無しさん
2016/06/14(火) 22:48:51.58ID:pnd2hkXl0989デフォルトの名無しさん
2016/06/15(水) 04:01:51.23ID:DO6EJe940990デフォルトの名無しさん
2016/06/15(水) 06:37:46.46ID:navfzMTe0991デフォルトの名無しさん
2016/06/15(水) 06:45:01.95ID:gCXyM0Ck上流連中が本気で自分達でコーディングしはじめたら業界は大崩壊して失業者が溢れる
0992デフォルトの名無しさん
2016/06/15(水) 07:04:06.29ID:AOKH1uHSさっさと作っちゃった方が早いことに客や上流も気付きつつある
一部の大規模システムを除けば、大崩壊はもう始まってる
0993デフォルトの名無しさん
2016/06/15(水) 08:54:51.93ID:6xgxkumJmapreduceのことかな?
0994デフォルトの名無しさん
2016/06/15(水) 08:58:42.76ID:FEVYup+X安心しろ
大半の上流は「まともな」コード書けない
0995デフォルトの名無しさん
2016/06/15(水) 10:54:32.65ID:ztVgPNcj0996デフォルトの名無しさん
2016/06/15(水) 11:23:24.98ID:26dm7nlp0997デフォルトの名無しさん
2016/06/15(水) 11:35:17.86ID:9eV3efFpふらっと C#,C♯,C#(初心者用) Part121 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1465958068/
0998デフォルトの名無しさん
2016/06/15(水) 14:32:37.88ID:LcWLmFAj乙です
0999デフォルトの名無しさん
2016/06/15(水) 16:52:59.85ID:SHCcovg91000デフォルトの名無しさん
2016/06/15(水) 17:01:46.19ID:cSjt059A>>997
スレたて乙
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 68日 17時間 10分 53秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。