ふらっと C#,C♯,C#(初心者用) Part125 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ f97b-lsIp)
2016/10/08(土) 21:33:26.22ID:KfBpvv2w0他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part124
http://echo.2ch.net/test/read.cgi/tech/1471004887/
■関連スレ
C#, C♯, C#相談室 Part91
http://echo.2ch.net/test/read.cgi/tech/1467142749/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0002デフォルトの名無しさん (ワッチョイ fc5e-lsIp)
2016/10/09(日) 09:01:10.77ID:G17UML8q0スレたて乙
5レスくらい埋めないと落ちるかも
0003デフォルトの名無しさん (アウアウ Sac5-Nuoi)
2016/10/09(日) 09:28:56.72ID:tkPBsJC6aいつもROM専ですが
0004デフォルトの名無しさん (ワッチョイ c3c0-lsIp)
2016/10/09(日) 09:30:27.17ID:2uWzXVZF0.NET2.0のフォームアプリをメンテナンスすることになったんだが、最近のOSだと.NET3.5入れないと動かないんだな
.NET3.5と4.5.2の並行路線は何時まで続くんだろ・・・
0005デフォルトの名無しさん (アウアウ Sac5-pu+C)
2016/10/09(日) 09:39:03.76ID:rlAqgPo1a0006デフォルトの名無しさん (ワッチョイ 21dc-6leU)
2016/10/09(日) 09:41:15.48ID:r1p0JkFt0基本的に100%の互換性があることになってるけど、デフォルトで動かないのは
ユーザーが勝手に4系で動かして万一重大障害発生でお前らがDOGEZAする羽目にならないように
ちゃんとテストしろよというMSの良心
0007デフォルトの名無しさん (ワッチョイ fc5e-lsIp)
2016/10/09(日) 10:06:32.54ID:G17UML8q0これかな
https://msdn.microsoft.com/ja-jp/library/w4atty68%28v=VS.100%29.aspx
メモの
>useLegacyV2RuntimeActivationPolicy 属性を true に設定する必要があります
の部分がよくわからんけど
>>4
Windows8以降は4.0以降のランタイムしか入ってないからな
0008デフォルトの名無しさん (ワッチョイ 98d4-lsIp)
2016/10/09(日) 16:48:44.58ID:XK4sDCWo0C#だと代替できるものないということで。
んで次なんですが、関数の中で Static してる変数があるんですけど、これはC#だとどうしますか。
Public Sub Hoge()
Static First As Boolean = True
If First Then
First = False
初期化っぽい処理
End If
End Sub
関数の外に出すと他の関数から見えてしまうので
0009デフォルトの名無しさん (ワッチョイ ab49-LThL)
2016/10/09(日) 17:03:09.61ID:rPrC2GUx0同じクラスのprivateな変数にする。
外から見えるとかは関数単位ではなくクラス単位で考える。
同じクラス内の他の関数から見えるのは気にしない。
0010デフォルトの名無しさん (ワッチョイ 7694-MJqz)
2016/10/09(日) 18:36:02.08ID:ciDgbIwP0class Program
{
static int i = 123;
static int j => i; // ★
static void Main(string[] args)
{
Console.WriteLine(j); // 123
i = 456;
Console.WriteLine(j); // 456
Console.ReadKey();
}
}
0011デフォルトの名無しさん (ワッチョイ 21dc-xaNP)
2016/10/09(日) 18:43:54.99ID:r1p0JkFt0expression bodied properties
C#6の新機能
0012デフォルトの名無しさん (ワッチョイ 7694-MJqz)
2016/10/09(日) 19:55:16.81ID:ciDgbIwP00013デフォルトの名無しさん (ワッチョイ 34c9-VEeh)
2016/10/09(日) 20:12:19.64ID:SNsM+1tN0混じってるとみっともない
0014デフォルトの名無しさん (ワッチョイ 34c9-VEeh)
2016/10/09(日) 20:17:23.67ID:SNsM+1tN0getterだけのプロパティをexpression-bodiedで書いて
getterとsetterのプロパティを通常の記法で書いてると統一性に欠ける
0015デフォルトの名無しさん (ワッチョイ c3c0-lsIp)
2016/10/09(日) 20:24:50.85ID:2uWzXVZF00016デフォルトの名無しさん (ワッチョイ 21dc-xaNP)
2016/10/09(日) 20:26:06.97ID:r1p0JkFt0メソッドも式で書けるようになったからその意味では一貫性がある
正しいかどうかはともかく、C#は関数型へ進み続けている
それを受け入れられないならC#から脱落するしかない
0017デフォルトの名無しさん (ワッチョイ 353c-xaNP)
2016/10/09(日) 20:34:20.60ID:ufk0aci50いや、マルチパラダイムだろ
0018デフォルトの名無しさん (オッペケ Sr4d-/Z78)
2016/10/09(日) 21:10:17.77ID:sqq+yTnGr0019デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/10(月) 00:16:17.24ID:LNPO30qQ0string text = Console.ReadLine();
//受け取った文字で処理
}
すごい久しぶりにC#やるのですが、
上記を呼び出したプログラムがいつの間にか不慮の事故で死んでいた場合、
自殺する方法があったような気がしたのですが、分からなくなりました。
これは他のexeファイルから呼び出されて標準入出力でやり取りします。
0020デフォルトの名無しさん (ワッチョイ 97dd-xaNP)
2016/10/10(月) 05:15:45.69ID:ht+Pv9Q400021デフォルトの名無しさん (ワッチョイ 5b00-BQsb)
2016/10/10(月) 07:04:48.42ID:ScYkQPFE0https://msdn.microsoft.com/en-us/library/ms682409(VS.85).aspx
親プロセスに子プロセスをjob objectと登録しておくと、親が死んだ時に
子供をOSが自動的に殺してくれるそうです。
0022デフォルトの名無しさん (ワッチョイ 7694-MJqz)
2016/10/10(月) 07:44:38.15ID:UXASE0xK00023デフォルトの名無しさん (ワッチョイ c63c-xaNP)
2016/10/10(月) 11:34:40.27ID:Rkc5P+nq0> これは他のexeファイルから呼び出されて標準入出力でやり取りします。
パイプ使ってるってこと?
なら親が死んだら eof で ReadLine が null を返すんじゃね?
0024デフォルトの名無しさん (アウアウ Sa43-TInN)
2016/10/10(月) 12:54:12.01ID:V7Z0NZf3a↓のxamlだとClick時にHyperlink_Clickは呼ばれるのですが、その後標準のブラウザで強制的に開かれてしまいます。
NavigateUriを消せば標準のブラウザで開かれることはないですが、URLを埋め込めません。
何かいい方法はないでしょうか。
<TextBlock>
<Hyperlink Click="Hyperlink_Click" NavigateUri="http://yahoo.co.jp">ヤフー</Hyperlink>
</TextBlock>
0025デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/10(月) 18:45:27.25ID:LNPO30qQ0そうなの?
今試せないんだけど、改行が来なくても大丈夫系?
0026デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/10(月) 20:37:17.51ID:LNPO30qQ00027デフォルトの名無しさん (ワッチョイ 7666-MJqz)
2016/10/10(月) 21:40:27.98ID:/jPfSdO10これでどや!
<Button Click="Button_Click">
<TextBlock Foreground="Blue">
<Underline>http://www.msn.com/ja-JP/</Underline>
</TextBlock>
</Button>
0028デフォルトの名無しさん (ワッチョイ 7666-MJqz)
2016/10/10(月) 21:41:18.62ID:/jPfSdO100029デフォルトの名無しさん (ワッチョイ 21dc-+EyG)
2016/10/10(月) 22:04:07.58ID:ly4XaJJN0やっぱりCSS的なレイヤは必要だった
0030デフォルトの名無しさん (ワッチョイ 353c-yd9a)
2016/10/10(月) 22:15:45.81ID:uc840M750CSSが生まれたのって、
「HTMLは文書の意味や構造を定義付ける為の物であって、見た目を定義付ける為の物ではない」
的な思想があっての事でしょ
HTMLとXAMLとでは存在目的が違うんだから、いらねーっすよ
0031デフォルトの名無しさん (ワッチョイ 1030-VEeh)
2016/10/10(月) 22:17:45.98ID:NThcQOle00032デフォルトの名無しさん (ワッチョイ 1030-VEeh)
2016/10/10(月) 22:20:54.95ID:NThcQOle0Control.TextDecorationsがある
0033デフォルトの名無しさん (ワッチョイ c37b-jLml)
2016/10/10(月) 23:34:54.76ID:MUAfL18F0値を埋め込みたいだけならNavigateUriの代わりに添付プロパティ使うとか
0034デフォルトの名無しさん (アウアウ Sa43-TInN)
2016/10/11(火) 11:19:41.87ID:n7KkGtdUa添付プロパティでいけました、ありがとうございます
0035デフォルトの名無しさん (ワッチョイ 707b-lsIp)
2016/10/11(火) 14:48:44.44ID:mnCEYNvQ0Analyze()関数にあるwhile(sf[ppos] != 13)とif(sf[ppos] >= 32)の部分なんですが、
なぜ13と32で判断させてるのかわかりません。
本書のサンプルをうpしましたので、わかる方いましたら、教えていただけないでしょうか?。
http://www.dotup.org/uploda/www.dotup.org1031032.7z.html
0036デフォルトの名無しさん (ワッチョイ c3e2-IG4E)
2016/10/11(火) 15:18:08.90ID:NhNhMU+W01度目のFindFirstUrlCacheEntryでのメソッドではうまく取得できますが
FindNextUrlCacheEntryでのメソッドでは「C」としかでてきませんでした
どうすればnextで正常に取得できますか?
int firstCacheEntryInfoBufferSize = 0;
FindFirstUrlCacheEntry(null, IntPtr.Zero, ref firstCacheEntryInfoBufferSize);
IntPtr entryPtr = Marshal.AllocHGlobal(firstCacheEntryInfoBufferSize);
var handle = FindFirstUrlCacheEntry(null, entryPtr, ref firstCacheEntryInfoBufferSize);
INTERNET_CACHE_ENTRY_INFO result = (INTERNET_CACHE_ENTRY_INFO)Marshal.PtrToStructure(entryPtr, typeof(INTERNET_CACHE_ENTRY_INFO));
//正常にフルパスが表示
richTextBox1.Text = Marshal.PtrToStringAnsi(result.lpszLocalFileName);
FindNextUrlCacheEntry(handle, IntPtr.Zero, ref firstCacheEntryInfoBufferSize);
entryPtr = Marshal.AllocHGlobal(firstCacheEntryInfoBufferSize);
FindNextUrlCacheEntry(handle, entryPtr, ref firstCacheEntryInfoBufferSize);
result = (INTERNET_CACHE_ENTRY_INFO)Marshal.PtrToStructure(entryPtr, typeof(INTERNET_CACHE_ENTRY_INFO));
//Cとだけ表示される
richTextBox1.Text += Marshal.PtrToStringAnsi(result.lpszLocalFileName);
0037デフォルトの名無しさん (ワッチョイ 9e4c-xaNP)
2016/10/11(火) 16:25:38.21ID:lBkVHEla0ちょっとちゃうな。
マークアップを管理する為、別層があった方がええよってだけなんじゃね
0038デフォルトの名無しさん (ワッチョイ d919-hgF0)
2016/10/11(火) 17:06:07.06ID:yDjM8vhd0sfがstringであることぐらいは質問文の中に欲しいなー
stringに対して [index] でアクセスするとchar型、つまりUTF-16の文字コードが取得できる
それぞれの文字コードが指す文字は
13: CR(=\r)つまり改行文字
32: (いわゆる半角の)空白文字
CRが見つかるまでループしてるのはコメント通り1行分を読み込んでるから
空白文字の方はちょっと特殊だけど、文字コード0〜31は制御コードって言う
「文字ならざるもの」を入れておく領域になっているんで、
つまり文字として有効かどうかをチェックしてる
0039デフォルトの名無しさん (アウアウ Sa76-juU9)
2016/10/11(火) 17:36:19.27ID:5nhn+XnWa0040デフォルトの名無しさん (ワッチョイ d919-hgF0)
2016/10/11(火) 17:47:59.14ID:yDjM8vhd0pinvoke.netのDllImport定義使ってる?
なんでかFindFirstUrlCacheEntryだけEntryPoint書いてるけどなぜかそれが
FindFirstUrlCacheEntryAを明示してるからそっちはANSIでNextのほうはUnicode呼び出しになる
EntryPoint消して、stringへの変換はMarshal.PtrToStringAuto使うようにする
あとFindNextUrlCacheEntryは返値見て失敗したらMarshal.GetLastError呼び出し
バッファ不足か列挙終了か確認する必要がある
そもそも最初に呼び出したFindFirstUrlCacheEntryで得られたバッファサイズはFindNextUrlCacheEntryでさらに拡張される可能性があるし
もし拡張されたらまたFindFirstUrlCacheEntryから呼び出し直しだから
はじめっから65536とか適当に大きいバッファ確保しておいて
FindNextUrlCacheEntryに渡すbufferSizeは毎回入れ直しておいた方がいい
0041デフォルトの名無しさん (ブーイモ MMa8-pu+C)
2016/10/11(火) 20:46:16.35ID:nLx97S41M0042デフォルトの名無しさん (アウアウ Sa76-juU9)
2016/10/11(火) 21:06:54.61ID:k359FhBZaオブジェクト指向関係あるの?w
0043デフォルトの名無しさん (ワッチョイ 353c-yd9a)
2016/10/11(火) 21:27:18.88ID:oZVsanbB0(まあC#はマルチパラダイム言語だが)
改行文字を判別するならエスケープシーケンス使えよと思うし
制御文字を判別するならIsControl使えよと思う場面だな、>>35は
0044デフォルトの名無しさん (ワッチョイ c37b-jLml)
2016/10/11(火) 22:06:20.93ID:iuxGk4et00045デフォルトの名無しさん (ワッチョイ d273-lsIp)
2016/10/11(火) 22:56:13.62ID:z6hY1vfh0<?xml version="1.0" encoding="UTF-8"?>
-<Class1>
<id>100</id>
<name>List100</name>
-<Class1>
↑のようなXMLの場合は
public class SetTest
{
private string _id;
private string _List;
public string id
{
get { return _id; }
set { _id = value; }
}
public string List
{
get { return _List; }
set { _List = value; }
}
}
0046デフォルトの名無しさん (ワッチョイ d273-lsIp)
2016/10/11(火) 22:59:05.10ID:z6hY1vfh0// データ
SetTest settings = new SetTest();
settings.id = "idテスト";
settings.List = "Listテスト";
// ファイルに保存
XmlSerializer serializer = new XmlSerializer(typeof(SetTest));
// ファイルで書き出す
FileStream fs = new FileStream(Directory.GetCurrentDirectory() + "\\" + "テスト.xml", FileMode.Create);
// XMLファイルに書き込む
serializer.Serialize(fs, settings);
fs.Close();
でいけると思うのですが
0047デフォルトの名無しさん (ワッチョイ d273-lsIp)
2016/10/11(火) 22:59:36.45ID:z6hY1vfh0↓のようなXMLの読み込み、書き込みはどうしたらやれますか?
-<Class1>
<title>ti</title>
-<items>
-<item>
<id>100</id>
<name>List100</name>
</item>
</items>
-<items>
-<item>
<id>101</id>
<name>List101</name>
</item>
</items>
</Class1>>>46
0048デフォルトの名無しさん (ワッチョイ 21dc-+EyG)
2016/10/11(火) 23:43:53.68ID:aUckxkie00049デフォルトの名無しさん (ワッチョイ d273-lsIp)
2016/10/12(水) 00:02:48.25ID:vhGHJWtL00050デフォルトの名無しさん (ワッチョイ 707b-lsIp)
2016/10/12(水) 12:22:41.59ID:rlMzapAH0説明不足ですみませんでした。
やはり、13は改行コードなんですね。下のコメントに10と13は改行コードと書いてたので、これじゃないかと思ってたのですが・・。
でも、32は書いてなかったので、質問しないとわかりませんでしたが。
丁寧な解説で、馬鹿な自分でもよくわかりました。
レス&解説ありがとうございました。
>>39
.NETでゲームを作る本は3冊(どれも古い)しかなくて、自分的には貴重だと思うんですよね。
0051デフォルトの名無しさん (ワッチョイ 9ee1-xaNP)
2016/10/12(水) 12:27:22.50ID:hi5pDFH90Unity使えよ・・・
WinFormsとかWPFはものにもよるけどゲームには向いてないぞ
0052デフォルトの名無しさん (ワッチョイ ab0d-yd9a)
2016/10/12(水) 15:37:01.20ID:dzycFkoT0入力されたパスワードをファイルに暗号化して保存するのですが、
暗号化に用いた鍵はどのように保存すればいいでしょうか?
C#は逆コンパイルが簡単なので、単にプログラムの中に埋め込むだけでは危険だと想います。
インターネットに繋がっていなくても実行可能なよい方法を教えてください。
0053デフォルトの名無しさん (ワッチョイ d919-hgF0)
2016/10/12(水) 15:55:30.36ID:ZPnQqXwN0安全な置き場所なんて無いからプログラム埋め込みでも別にいいよ
0054デフォルトの名無しさん (スフッ Sda8-xaNP)
2016/10/12(水) 16:41:55.83ID:DOlHpAMedプログラム埋め込みしたうえでアセンブリ難読化でいいんじゃないですか
0055デフォルトの名無しさん (ワッチョイ 21dc-xaNP)
2016/10/12(水) 16:57:13.83ID:9oDwxE2X0それならパスワードは例え暗号化された形であっても一切保管しないのがセオリー
疑似コードで説明するとこんな感じ
void パスワード設定(パスワード) {
ファイルに保存("認証情報.txt", ハッシュ関数(パスワード))
}
bool パスワード認証(パスワード) {
return ハッシュ関数(パスワード) == ファイル読込("認証情報.txt"))
}
ハッシュ関数はSHA256あたり使えばいい
こうするとHDDの内容が流出しようがパスワードが漏れることはない
さらに辞書攻撃対策として、パスワードに適当に決まった文字列(ソルト)を付加してやるとより強固になる
0056デフォルトの名無しさん (ワッチョイ 0dd9-VEeh)
2016/10/12(水) 16:59:10.98ID:McueY18J0パスワードを平文で保存してたよ
曰わく、わざわざ暗号化して保存することで無知なユーザーに偽りの安心感を与えるのは却って害だ
とのこと
0057デフォルトの名無しさん (ワッチョイ 353c-yd9a)
2016/10/12(水) 17:08:00.81ID:ENho6ZSf0まーこれだね
スタンドアロンで動作させるのが要件なら
鍵を複数に分割してバラバラの場所に埋め込むとかで、復号を面倒にするくらいが関の山じゃないか
0058デフォルトの名無しさん (アウアウ Sa76-juU9)
2016/10/12(水) 17:13:10.57ID:istexQmRaパスワードを知ってるのと同じことになるってことだから、よく考えればそれならそもそも別に
平文で保存したって大差ないような気もする。
まあそうは言っても体面もあるから、言い訳程度に暗号化しとけば十分なのでは
0059デフォルトの名無しさん (ワッチョイ ab0d-yd9a)
2016/10/12(水) 17:47:32.16ID:dzycFkoT0すべて参考にさせて頂き熟考します
0060デフォルトの名無しさん (ワッチョイ ab49-LThL)
2016/10/12(水) 18:49:52.25ID:BdIUeyBr00061デフォルトの名無しさん (ワッチョイ fc42-lsIp)
2016/10/12(水) 18:51:17.74ID:S29qi1Dw0初めて開くフォルダでは選択されません (png なんかもなるようです)
こちらと同じ
http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=33133&no=0
上のリンクでは SHOpenFolderAndSelectItems で解決とあるものの
jpg が 1 万枚とか大量にあるとやはり初回は選択されません
初回のもたつきが選択の処理を阻害している感じです
二度実行すれば大丈夫なようですがもっとスマートな策はないものでしょうか
良い方法を教えてください
0062デフォルトの名無しさん (ワッチョイ c37b-jLml)
2016/10/12(水) 19:12:24.70ID:XzbrdxqH0006361 (ワッチョイ fc42-lsIp)
2016/10/12(水) 20:24:14.25ID:S29qi1Dw0ありがとうございます
関連づけ、というのがよくわかりませんが当方の環境でそのまま指定すると
jpg のビューアとクイックアクセスでエクスプローラが起動します
もし可能であっても関連付けなど環境を変えることはできないですねスミマセン
何か勘違いしていましたらご指摘ください
ちなみに Process.Start("explorer.exe", "/select,***") だとまったくダメで
(C# からでなく直接コマンド打っても同じです)
SHOpenFolderAndSelectItems だとマシになるといった感じです
0064デフォルトの名無しさん (ワッチョイ c37b-jLml)
2016/10/12(水) 20:28:54.30ID:XzbrdxqH0ってやることなんだけど
0065デフォルトの名無しさん (アウアウ Sa76-juU9)
2016/10/12(水) 21:01:48.75ID:istexQmRa操作できるみたいだから、同じことがC#でも出来れば必要なら何度か
リトライできそうだけど、どうやるんだろうねえ。
http://www.tek-tips.com/viewthread.cfm?qid=1759903
0066デフォルトの名無しさん (ワッチョイ 5c7b-pu+C)
2016/10/12(水) 21:18:27.66ID:8upkYudZ0よくある「ファイルの場所をエクスプローラで開く」ってこと?
そのdobonの記事内にある
http://stackoverflow.com/questions/3018002/c-how-to-use-shopenfolderandselectitems
のコード使ってファイル6000個程度で試したけど手元の環境ではもたついても最終的には正確に選択されたが
フォルダまたいでも選択されることに驚いた
0067デフォルトの名無しさん (ワッチョイ 7694-MJqz)
2016/10/12(水) 21:41:21.77ID:y0Sdxi7M0var i = func.Invoke();
このInvokeとは何ぞや?
動き的にはfuncを実行してるんだなってわかるけど。
Invokeを右クリックして定義に移動しても出てこないし。
0068デフォルトの名無しさん (アウアウ Sa76-juU9)
2016/10/12(水) 21:52:34.16ID:istexQmRahttps://msdn.microsoft.com/ja-jp/library/system.delegate.aspx
0069デフォルトの名無しさん (アウアウ Sac5-xaNP)
2016/10/12(水) 21:58:33.95ID:5VjkdN+Ga0070デフォルトの名無しさん (ワッチョイ 7694-MJqz)
2016/10/12(水) 22:18:37.21ID:y0Sdxi7M00071デフォルトの名無しさん (アウアウ Sa76-juU9)
2016/10/12(水) 22:20:42.72ID:istexQmRaだから>>68にちゃんと説明があるよ
0072デフォルトの名無しさん (ワッチョイ 7694-MJqz)
2016/10/12(水) 22:23:02.23ID:y0Sdxi7M0>共通言語ランタイムが提供する Invoke デリゲートと同じシグネチャを持つ各デリゲート型の方法です。
>コンパイラは、それを自動的に呼び出すために、このメソッドは、c#、Visual Basic または Visual C から明示的に呼び出す必要はありません。
>Invoke メソッドは リフレクション 、デリゲートのシグネチャを検索する場合。
0073デフォルトの名無しさん (ワッチョイ 21dc-+EyG)
2016/10/12(水) 22:23:25.00ID:9oDwxE2X0デリゲート型っていうのは delegate T Func<T>(); のようにdelegateキーワードで定義される型のことね
で、通常のデリゲート呼び出しの構文 func() は func.Invoke() のシンタックスシュガー
0074デフォルトの名無しさん (ワッチョイ 7694-MJqz)
2016/10/12(水) 22:27:44.44ID:y0Sdxi7M00075デフォルトの名無しさん (アウアウ Sa76-juU9)
2016/10/12(水) 22:31:04.83ID:istexQmRa機械翻訳が意味不明だから、古いバージョンのドキュメントを読んだ方がいいかもね
0076デフォルトの名無しさん (アウアウ Sa76-juU9)
2016/10/12(水) 22:32:26.53ID:istexQmRaおいおい本当かよそれw
0077デフォルトの名無しさん (ワッチョイ d91e-xaNP)
2016/10/12(水) 22:52:16.65ID:x6Yo9Mwa0http://stackoverflow.com/questions/16309286/funct-vs-funct-invoke
0078デフォルトの名無しさん (ワッチョイ f93a-xaNP)
2016/10/12(水) 23:07:59.70ID:GJ+oagFT00079デフォルトの名無しさん (アウアウ Sac5-xaNP)
2016/10/12(水) 23:44:05.17ID:44xB4wBgaVisual Studioの使い方がよくわからなくて……「新しいプロジェクト」から「空のプロジェクト」で、プログラムを書くのが良かったのですが、いつの間にかこの項目が消えて選べなくなりました。他はアプリを作るようなモードなので使いづらいです。。どうしてですか?
0080デフォルトの名無しさん (ワッチョイ 877b-nzJn)
2016/10/13(木) 00:52:36.58ID:aniHJH6t0画面を持つなら、Form だし、ライブラリを作るなら、DLL だろ。
それ以外にあるのか?
0081デフォルトの名無しさん (スフッ Sd4f-Oa01)
2016/10/13(木) 01:42:20.09ID:HIdK+zqJdVisual C++のところに空のプロジェクトがあるだろ
0082デフォルトの名無しさん (ワッチョイ 1b9f-c7dp)
2016/10/13(木) 03:33:19.33ID:eeNekR2j00083デフォルトの名無しさん (ワッチョイ 8331-8qPS)
2016/10/13(木) 05:13:31.24ID:XSmxsz+k0プログラム起動時にユーザーログインとテキストファイルの読み込みを行っています
で、それらの情報をいつでもアクセス出来るようStaticクラスに持たせているのですが
このような方法は特に問題ないでしょうか?
もっといい方法や推奨される方法があれば教えてください
0084デフォルトの名無しさん (ブーイモ MM4f-DI90)
2016/10/13(木) 07:46:56.79ID:d/dyHEl/Mそのクラスをインスタンスにして必要なクラスのコンストラクタで渡せばいい
0085デフォルトの名無しさん (ワッチョイ bbdc-Oa01)
2016/10/13(木) 08:06:32.92ID:U+TNkLbY0単体テストのときテストケースの数だけいちいちファイル用意しないといけなくて面倒
>>84のように外から渡した上でインターフェイス経由でアクセスするのが理想
インスタンスをシングルトンで保持しておくのは構わないけど、それに直接アクセスしていいのは呼び出し階層の一番上だけ
他は常にコンストラクタかプロパティで渡す
面倒ならDIコンテナを使ってシングルインスタンスを注入する手もある
0086デフォルトの名無しさん (ドコグロ MM97-Oa01)
2016/10/13(木) 08:43:31.40ID:CLiojDhVMごく少数
かつ
それが色々な場所で使われる
なら
ありだと思う
>>84-85 みたいな頭でっかちの一見正論は常に役に立つ訳じゃないから無視していい
008761 (ワッチョイ 8742-8qPS)
2016/10/13(木) 10:18:41.87ID:T2aLctg20>>64
jpg に対するビューアで表示されますので難しいのかなと
>>62 で「ビューアとクイックアクセスでエクスプローラが」と言いましたがビューアだけでした
>>65
リンク先のスクリプト当方ではなぜかうまく動きませんね
今のところこれを C# で実現する技量も持ってないです
表示させたエクスプローラを操作してというアプローチも検討していましたが
素人にはキツそうで他の安易な手法を模索中です
>>66
確かに 6,000 であれば選択しますね!これは知りませんでした
しかし 10,000 になると当方の環境ではほぼ選択されません
これまで single item のコードを元に実行していましたが
複数可のほうのコードで同じファイル名を重複して指定すると
10,000 であれば選択されることが分かりました
ただ 20,000 などもっと増えるとダメなようです
二重実行だと 20,000 でも選択されるのでやはりこれで手を打つべき?
0088デフォルトの名無しさん (アウアウ Saff-+9sP)
2016/10/13(木) 11:10:13.49ID:D/S7S9qga本当に共通の情報を複数から参照する必要があるのであればそれを一つのクラスにまとめてもいいけど、
単に永続化が必要な情報であるという理由だけで一つにまとめている(各々そのクラスにアクセスするのは
共通の情報ではなくそれぞれ別の情報)のであれば明らかに間違ってるな。
明確に理由は説明できないけど、staticなインスタンスではなくstaticクラスを使うのも
個人的にはちょっと違う気がする。
0089デフォルトの名無しさん (ワッチョイ d77b-8qPS)
2016/10/13(木) 12:55:57.73ID:QpGu+ou60.NETで基礎を磨きたくて、ゲーム作りならモチベも下がらずにやれるかなと思ってこの本にしたんです。
参考書も購入済みなので、本格的なゲームを作る時はUnityを使いますよ。
0090デフォルトの名無しさん (ワッチョイ d77b-8qPS)
2016/10/13(木) 13:09:35.62ID:QpGu+ou60Blend for visualstudioを選んでませんか?
これだと空のプロジェクトの項目はないので、visualstudio20xx(xxは自分がDLしたバージョン)を起動してください。
visualstudio20xxを起動させているなら、新規作成 > プロジェクト > visualC# > Windows > クラシックデスクトップにすれば出てきますよ。
0091デフォルトの名無しさん (アウアウ Sa97-Oa01)
2016/10/13(木) 13:44:34.25ID:OsInCkTeaいろいろ調べて、Express for Desktopというのをインストールしたところうまくいきました。ありがとうございます。
0092デフォルトの名無しさん (ワッチョイ 877b-8qPS)
2016/10/13(木) 16:59:59.60ID:Yv6P+Iys0パターンを書いてみたのですが、うまくいきませんでした
"C:\Users\PCname\test\file.xlsx"
このファイルパスを表す文字列のfile.xlsx部分だけを消去したいです
0093デフォルトの名無しさん (スプッッ Sdcf-Oa01)
2016/10/13(木) 17:10:05.54ID:mZgNLhHCd正規表現にこだわらないなら、Pathクラス使った方が簡単じゃないか?
Path.GetDirectoryName メソッド
https://msdn.microsoft.com/ja-jp/library/system.io.path.getdirectoryname.aspx
0094デフォルトの名無しさん (ワッチョイ 877b-8qPS)
2016/10/13(木) 17:17:53.92ID:Yv6P+Iys0こんな便利なメソッドがあったんですね
回答ありがとうございました、無事にできました。
0095デフォルトの名無しさん (ブーイモ MM4f-DI90)
2016/10/13(木) 20:02:29.09ID:HwCkNWajMまたまたご冗談を
いろいろな場所で使われる静的なインフラクラスとかただの悪夢じゃないですか
0096デフォルトの名無しさん (スフッ Sd4f-Oa01)
2016/10/13(木) 23:29:34.82ID:tcMW2ABkd賛成です
0097デフォルトの名無しさん (オッペケ Srd7-Oa01)
2016/10/14(金) 11:32:00.91ID:5Y7KbdSJr0098デフォルトの名無しさん (ワッチョイ bbdc-Oa01)
2016/10/14(金) 11:46:46.23ID:xv7XrH2t0そもそもWPFやWebブラウザは何もないところにGUI部品っぽいものを独自に描画してるわけで、
WPFやElectronで作る場合の100倍の工数かけてそれと同じようにスクラッチすれば可能
0099デフォルトの名無しさん (ワッチョイ 4f4c-Oa01)
2016/10/14(金) 12:10:54.76ID:SyTitZMd00100デフォルトの名無しさん (ワッチョイ 9f23-8qPS)
2016/10/14(金) 13:39:00.09ID:D2RLd37K0たしかに面倒だが、100倍も掛かるわけでもないよ
部品をフラットにして、スライダーみたいな複雑なのを諦めるとか
工夫次第でなんとかなる
0101デフォルトの名無しさん (オッペケ Srd7-Oa01)
2016/10/14(金) 14:05:32.92ID:5Y7KbdSJr面倒だからやめた
0102デフォルトの名無しさん (ラクラッペ MMf7-8qPS)
2016/10/14(金) 16:58:20.50ID:WrhxhBRqMどう書けば指定した行の列数を取得できるようになるでしょうか?。
最大行数の取得
dataSet.Tables["DataTable"].Rows.Count;
最大列数の取得
dataSet.Tables["DataTable"].Columns.Count;
0103デフォルトの名無しさん (ワッチョイ bb94-NvRm)
2016/10/14(金) 18:29:38.87ID:xiSagSQl00104デフォルトの名無しさん (ラクラッペ MMf7-XnCm)
2016/10/14(金) 20:28:29.33ID:O8TwfpESM例えば、0行目は1列しかなくて、1行目は5列あり、2行目は3列しかなかったりします。
ちなみに、列の最大数より少ない行の列(使われてない列)には、空欄になってます。(dataGridViewやxmlファイルで見ると)
0105デフォルトの名無しさん (ワッチョイ 83c0-8qPS)
2016/10/14(金) 20:35:37.38ID:XcyjZEXI0それ値にnullが入っているだけで列そのものは存在しているよ
0106デフォルトの名無しさん (ラクラッペ MMf7-XnCm)
2016/10/14(金) 20:55:06.25ID:O8TwfpESM行の列数ごとに処理をしたかったのですが、別の方法を考えたほうがよさそうですね。
レスありがとうございました。
0107デフォルトの名無しさん (ワッチョイ 83c0-8qPS)
2016/10/14(金) 22:05:45.82ID:XcyjZEXI0i行目のnull以外が入っている列の数が欲しいってのなら
dataSet.Tables["DataTable"].Rows[i].ItemArrayで行の値取得してから、ループ回してnull以外の数を数える方法もあるけど
行の列数毎に処理をするという時点で何か違う気もするけど
0108デフォルトの名無しさん (ワッチョイ 2349-ciRE)
2016/10/14(金) 22:15:24.28ID:naHK2HuB0やってることは変わらないけど、LINQですっきり。
dataSet.Tables["DataTable"].Rows[i].ItemArray.Count( x => x != null );
0109デフォルトの名無しさん (ラクラッペ MMf7-XnCm)
2016/10/14(金) 22:16:02.67ID:O8TwfpESMなるほど、そんな手もあるんですか。
処理といっても難しいものではなく、○行目の○列目が空なら次の行へいくというような処理です。
それを最後の行までやる単純な処理です。
0110デフォルトの名無しさん (ワッチョイ 877b-8qPS)
2016/10/15(土) 03:32:09.91ID:zqId9pk40語学も勉強中ですので、ja.forvo.comにアクセスするツールを勉強がてらに作ってみようと思ったのですが、
アクセスパラメタはlogin passeordの2種類しかないように見えるのですが、どこが間違っているかわかりません。
ContentLength>0 または SendChunked==true を設定する場合には要求本体を指定する必要があります。
と出てくるので、パラメタ関連だと思うのですが、どこか見落としているんでしょうか?
https://dotnetfiddle.net/s5RJok
0111デフォルトの名無しさん (ワッチョイ 1b9f-c7dp)
2016/10/15(土) 04:14:59.65ID:Rly0bTEF0GetResponseする前ににパラメータを送信してない
using (Stream requestStream = Request.GetRequestStream()) {
requestStream.Write(data, 0, data.Length);
}
0112デフォルトの名無しさん (ワッチョイ 877b-8qPS)
2016/10/15(土) 04:24:50.76ID:zqId9pk40本当ですね、なんという凡ミス・・・
POSTを実行し忘れていました
回答ありがとうございました、無事にできました。
0113デフォルトの名無しさん (ワッチョイ 8b3c-8qPS)
2016/10/15(土) 07:58:43.10ID:aLbial8Z0windowsでさえ動けばそれで良い、
コンパイラは無料であること、
言語の情報収集が書籍に頼らずとも、検索したら日本語でいっぱい出てくること。
って条件を提示したらC#って言われたんだよね。
ここまで合ってる?
で、ちょっとやってみたんだけど、CUIはすぐに満足行く程度に出来ました。(ハノイの塔や乱数生成など)。
でもウィンドウの表示とか描画はかなり意味が良く分かりませんでした。
GUIは楽ではないのでしょうか?
あと、検索方法やサイトがよく分かりませんでしたので、GUIを学ぶのに良さそうなサイト教えてください。
ちなみにCやC++やRubyはできますが、GUIは一度もやったことありません。
0114デフォルトの名無しさん (ワッチョイ bbdc-Oa01)
2016/10/15(土) 09:25:22.99ID:k370RUkX0C#のGUIフレームワークはVB.NETと共通
頭の弱いVBer連中にできてお前にできないなんてありえないから安心しろ
0115デフォルトの名無しさん (ブーイモ MMf7-DI90)
2016/10/15(土) 10:07:17.04ID:4a8N/lhaMデザイナ開いてコントロール並べてイベントハンドラにやりたい処理を書くだけ
0116デフォルトの名無しさん (ワッチョイ 8742-b88/)
2016/10/15(土) 10:56:08.68ID:Ep2P5HuE0>って条件を提示したらC#って言われたんだよね。
>ここまで合ってる?
合ってる
CUIよりGUIのほうが複雑だからGUI初心者にとって難しく楽ではないのは仕方ない
それでもC#はGUIの作業がかなり簡単になってる
頑張って覚えるしかない。”C# GUI”でググれば色々出てくるからそこから選べばいいんじゃないかな
0117デフォルトの名無しさん (アウアウ Saff-+9sP)
2016/10/15(土) 13:07:47.01ID:VsUz8hA6aweb上にはまとまったチュートリアルなかった気がするね。
どうやって覚えたんだったかな。
まあWindows Formなら触ってるうちにだんだん分かるとは思う。
GDI+は本格的にやるなら古いペゾルドの本でも買った方がいいかもしれない
0118デフォルトの名無しさん (ワッチョイ 4b79-8qPS)
2016/10/15(土) 15:39:03.38ID:keBjPhCw0FormはGUIで組み立てていけるから楽だけど
0119デフォルトの名無しさん (ワッチョイ 877b-nzJn)
2016/10/15(土) 15:41:04.11ID:CMu4YX8d0線・円・四角形などを描画するなら、HTML5のCanvas 相当の知識がいる
0120デフォルトの名無しさん (ワッチョイ 875e-8qPS)
2016/10/15(土) 15:55:54.34ID:Y5UYqbC90http://dobon.net/vb/dotnet/index.html
http://www.atmarkit.co.jp/ait/subtop/dotnet/
WinFormsならデザイナに適当に並べてイベントをクリックしたらイベントハンドラ自動で配置されるんだからチュートリアルとかいらない気もする
0121113 (ワッチョイ 233c-8qPS)
2016/10/15(土) 17:38:54.02ID:gUMRUJva0GUIの実現方法にもいろいろあるようで。(?)
まぁよく分かってないのですが、しばらく頑張ってみます。
0122デフォルトの名無しさん (ブーイモ MMf7-DI90)
2016/10/15(土) 17:43:06.42ID:pMgLYSqAM悩むところなんてないのにね
素人の新人でも1日あればBMI計算画面程度のものは作れるようになる
0123113 (ワッチョイ 233c-8qPS)
2016/10/15(土) 17:45:41.99ID:gUMRUJva0ようするに全部分からん。
0124デフォルトの名無しさん (ワッチョイ ff02-GF32)
2016/10/15(土) 18:36:15.94ID:i1h9IwSg00125デフォルトの名無しさん (ワッチョイ 67ce-dAUv)
2016/10/15(土) 18:44:07.15ID:6v+uOgk10C#や.NETについてはペゾルド本とか定番の書籍とか沢山あるから通読を薦める
0126デフォルトの名無しさん (オッペケ Srd7-310H)
2016/10/15(土) 19:34:08.33ID:UDl7k1b2rWPFでも、それと同じ作り方出来るよん。
メリットがあまり無いから、その方法でやる人がいないだけで。
0127デフォルトの名無しさん (ワッチョイ 83c0-Lzu8)
2016/10/15(土) 19:48:29.68ID:0Lh6WVUg0バインディング考えるとWPFの方が楽でいいけど、ListViewの罫線引くのにも一苦労なのがな
0128デフォルトの名無しさん (オッペケ Srd7-Oa01)
2016/10/15(土) 21:45:59.61ID:auQgHyKEr0129デフォルトの名無しさん (ワッチョイ bbdc-x3Zw)
2016/10/15(土) 23:01:02.76ID:k370RUkX00130デフォルトの名無しさん (オッペケ Srd7-Oa01)
2016/10/15(土) 23:13:33.54ID:auQgHyKErてことはコントロール並べただけだとdpi変えたら崩れるのか
みんなどう対処してるの?
0131デフォルトの名無しさん (ワッチョイ 837b-n555)
2016/10/15(土) 23:14:29.34ID:Q3fCLt+y0外部ライブラリ取り込んだだけだけど
0132デフォルトの名無しさん (ワッチョイ 2349-ciRE)
2016/10/15(土) 23:25:23.56ID:vyO0bokn0コントロール毎だけど、高DPI対応されてるぞ。(要app.config編集)
EnableWindowsFormsHighDpiAutoResizingとかで調べると出てくる。
0133デフォルトの名無しさん (ワッチョイ 6f66-8qPS)
2016/10/16(日) 17:31:11.11ID:SS2oz+Dc0[日付][出荷][入荷][在庫]
[10/1][1000][ 0][ 0]
とバインドされますが、これをそのまま
日付 10/1|10/2|10/3|…
出荷 1000| 0| 1000|…
入荷 0|1000| 0|…
在庫 0|1000| 0|…
と横向きに表示したいのですが方法がわかりりません。
何か良い方法があれば教えてください。
0134デフォルトの名無しさん (ワッチョイ 3bcb-Oa01)
2016/10/16(日) 19:05:12.86ID:+xc9QiVj0ってググって出なかったら俺ならあきらめる
0135デフォルトの名無しさん (ワッチョイ 877b-8qPS)
2016/10/17(月) 11:43:58.15ID:t0+3o69f0グローバル変数って極力使わないほうがいいんですよね?
その場合、どうやって変更すればいいんでしょうか?
0136デフォルトの名無しさん (アウアウ Sa97-DI90)
2016/10/17(月) 12:30:24.66ID:0QqIT/eXa0137デフォルトの名無しさん (ワッチョイ 834f-dAUv)
2016/10/17(月) 16:57:58.75ID:ka6apGFK0「C# list 行 列 入れ替え」でググると、いくつか出て来るな
DataGridViewだと出来ないっぽいので、文字列配列でやるしか無さそう
0138デフォルトの名無しさん (ドコグロ MM37-Oa01)
2016/10/17(月) 19:17:50.46ID:XnOIml5dM0139デフォルトの名無しさん (ワッチョイ bbdc-x3Zw)
2016/10/17(月) 21:43:52.24ID:8eStTtOD0そもそも本当に外から変更する必要があるのかよく考えた方がいい
安易にプロパティ(アクセサ)を使うのはお勧めしない
Aの内部に深く依存した処理ならそれはA自身のインスタンスメソッドにするのが自然
0140デフォルトの名無しさん (オッペケ Srd7-310H)
2016/10/17(月) 22:08:48.29ID:J1512ejnr普通はBにdelegateを持たせてAがRegister
0141デフォルトの名無しさん (ワッチョイ 9f23-8qPS)
2016/10/18(火) 00:15:54.00ID:5HYuZfg90static classよりprism.unityのようなDIコンテナを検討すると良いかもしれん
0142デフォルトの名無しさん (オッペケ Srd7-Oa01)
2016/10/18(火) 01:07:54.24ID:z7NEdDzIr0143デフォルトの名無しさん (ワッチョイ 877b-8qPS)
2016/10/18(火) 01:27:03.65ID:GSTk/GYq0こういう方法があったんですね、無事にできました。
ありがとうございました。
>>139
なぜプロパティを使わないほうがいいのでしょうか?
>>140
delegateを使う方法も調べて勉強してみます、ありがとうございました。
0144デフォルトの名無しさん (アウアウ Saff-+9sP)
2016/10/18(火) 01:50:59.73ID:ZWaQacsZa>>139は別にプロパティを使うなとは言ってないと思うよ
>>135みたいな質問をするレベルの初心者は、本来そのクラスの外部からアクセスさせる必要がない
値まで外部に対して公開してしまいがち。
だからBからAの値を変更したいがどうしたら...以前に、そもそも本当にBからAの値を
変更する必要があるのか、まずそれを再考した方がいいと言ってるだけ恐らく。
0145デフォルトの名無しさん (スププ Sd4f-Oa01)
2016/10/18(火) 02:23:54.86ID:yFGfvYQ8d外注に出してもいいよ
0146デフォルトの名無しさん (フォォーッ MM47-8qPS)
2016/10/18(火) 17:04:32.16ID:FLRDVYGCMもし、できるのであれば、やり方を教えていただけないでしょうか。
0147デフォルトの名無しさん (ワッチョイ 7bd6-8qPS)
2016/10/18(火) 19:22:23.19ID:t0O03s4a0じゃあかんの?
0148デフォルトの名無しさん (オイコラミネオ MM2f-tncL)
2016/10/18(火) 19:42:09.04ID:kZJdOEPWM0149デフォルトの名無しさん (ワッチョイ 9f23-8qPS)
2016/10/18(火) 21:32:22.49ID:5HYuZfg900150デフォルトの名無しさん (ワッチョイ 2349-ciRE)
2016/10/19(水) 00:35:49.06ID:D3jR0Y/100151デフォルトの名無しさん (アウアウ Sa3f-Oa01)
2016/10/19(水) 12:21:20.79ID:uDAkjBGca0152デフォルトの名無しさん (ワッチョイ 9b19-K4Kb)
2016/10/19(水) 13:14:54.61ID:az2iZHKt0個人的にFirefoxの履歴とか他の自作ツールで見てる
0153デフォルトの名無しさん (ワッチョイ fbeb-pg89)
2016/10/19(水) 16:14:49.10ID:lVxjSt550行を追加していくと当然メモリを消費しますが、
行を削除してもメモリが解放されません。
(RemoveAt、Clearなどで削除)
頻繁に行を追加したり削除するプログラムを作成していまして、
そのうちメモリが上限になってしまうのですが、
行を削除したときにメモリを解放するには
どのようにすればよいのでしょうか。
(VS2012です)
0154デフォルトの名無しさん (オッペケ Srd7-Oa01)
2016/10/19(水) 16:23:08.57ID:sakBD/O3r0155デフォルトの名無しさん (ワッチョイ fbeb-pg89)
2016/10/19(水) 16:33:39.48ID:lVxjSt550レスありがとうございます。
私もその認識でいたのですが、
使用メモリが搭載上限(4G)まで行っても解放されないので、
(ガベージコレクタメソッドを使っても)
困っています。
0156デフォルトの名無しさん (ブーイモ MM4f-DI90)
2016/10/19(水) 17:24:56.64ID:arYWyhLnM0157デフォルトの名無しさん (ワッチョイ 834f-dAUv)
2016/10/19(水) 17:34:39.90ID:4Wr5Akus0全然違うとこでメモリを溜め込んでいるのかもしれんし
0158デフォルトの名無しさん (ワッチョイ 1b9f-c7dp)
2016/10/19(水) 19:10:01.37ID:JZ054bhP00159デフォルトの名無しさん (ワッチョイ 875e-8qPS)
2016/10/19(水) 19:51:08.60ID:8L2TKUho0→Rows.Clear()とColumns.Clear()とGC.Collect()する
→メモリの消費量変化せず
次に別の小さいデータを読み込む
→Rows.Clear()とColumns.Clear()とGC.Collect()する
→メモリの消費量が減る
どういう仕組みになっているんだろうなw
BitmapとかだとDispose()してnull入れてGC.Collect()するとすぐに反映されるんだが
DatagridViewにnull入れれないしな
見かけ上変わってないだけで実際には他に影響しない可能性もあるし
0160デフォルトの名無しさん (オッペケ Srd7-Oa01)
2016/10/19(水) 21:18:49.28ID:sakBD/O3r大きなデータってなに?
0161133 (ワッチョイ 3e66-9S67)
2016/10/20(木) 06:52:10.99ID:kVktOnSP0>>137
諦めてTextBoxを並べてそれっぽく見えるようにしました。
返信ありがとうございました。
0162デフォルトの名無しさん (フォォーッ MM5f-DrBp)
2016/10/20(木) 14:42:52.91ID:j15LCTLjMその方法でできました。
ありがとうございました。
>>148
そのまま記述すると、列で判定されたりしてわからなかったんですよー。
>>150
そのやり方のほうが、処理が早いみたいですね!。
ちょっと勉強したいと思います。
回答してくださった方、ありがとうございました。
0163デフォルトの名無しさん (ワッチョイ 8e94-aczQ)
2016/10/21(金) 06:03:28.62ID:UXfZS+K/00164デフォルトの名無しさん (ワッチョイ e03c-AIfR)
2016/10/22(土) 22:16:30.80ID:v7gcb7o50最近仕事でC#プログラムを作りました。
ある測定装置を制御するプログラムです。
質問です。
データ収集の時、多少時間がかかるので、
「今処理しているんだぞ」という表示をしたく考えています。
今現在はフォーム上に置いたラベルに「データ収集中です」とだけ
表示しています。
何かこれに動き(テキストのバックの色が変わるとか)が付ければ
いいぁと思っているんですが、「処理中に表記する」事に関して
参考になるようなサイト等あれば紹介していただきたいのですが・・・
宜しくお願いします。
0165デフォルトの名無しさん (ワッチョイ 1c5e-AIfR)
2016/10/22(土) 22:21:59.07ID:kIxm0CI90ほかにもあるだろうけどBackgroundWorkerを使う例なら↓
http://dobon.net/vb/dotnet/programing/progressdialogbw.html
このページではProgressBarを使っているけどReportProgressメソッドに数値を渡せるから後は工夫次第
0166デフォルトの名無しさん (ワッチョイ df49-PUkO)
2016/10/22(土) 23:08:53.61ID:+hICpl7f0http://www.atmarkit.co.jp/ait/articles/1512/02/news019.html
0167デフォルトの名無しさん (ワッチョイ 213c-YT5Q)
2016/10/22(土) 23:23:07.21ID:NG/YSHI20おじいちゃんかな?
0168デフォルトの名無しさん (アウアウ Sa76-48Mz)
2016/10/22(土) 23:36:06.64ID:hnOr+aGfaBackgroundWorkerって一度も使ったことないけど、
正直、それってEAPより分かりづらくなってないか?
0169デフォルトの名無しさん (ワッチョイ 177b-+OdZ)
2016/10/22(土) 23:36:58.50ID:Hz0V4lr80Style=MarqueeなProgressBarを使う
0170デフォルトの名無しさん (ワッチョイ df49-PUkO)
2016/10/23(日) 00:06:56.07ID:rBqtbPOF0ラベルの背景色を変更するのは簡単だよ。
label.BackColor = Color.Red;
とかで良い。
進捗報告が要らないなら、IProgressとかも使わずにこんな感じ。
(ラベルとプログレスバー)
http://ideone.com/ilYwnF
0171デフォルトの名無しさん (ワッチョイ 5bdd-YT5Q)
2016/10/23(日) 02:45:59.94ID:h7gARNSs0プログレスバーの出番や
0172デフォルトの名無しさん (ワッチョイ e03c-9S67)
2016/10/23(日) 07:23:09.66ID:0dR84IuA0皆さんいろいろありがとうございます。
>>170
プログラム見て、動きがすぐ読み取れればいいのですが、
いかんせん、初心者でして・・・すみません。
試してみますが、これは表記中になにか動きがあるのですか?
現在はフォーム上のラベルの背景色は変えていて
「データ受信中」
とだけ大きめに表示しています。
いかんせん、データ受信に時間がかかるので、
「データ受信中」のラベル表記に加えて、何か動きをつけて
「動いてまっせ」感を出したいと思っています。
一番いいのは「データ受信中」にラベルが一定間隔で点滅しているようにみえる
ようになればいいと思っていますね。
0173デフォルトの名無しさん (ワッチョイ 8e94-aczQ)
2016/10/23(日) 22:02:41.53ID:8jE4iVd500174デフォルトの名無しさん (ワッチョイ df49-PUkO)
2016/10/23(日) 23:06:14.69ID:rBqtbPOF0>>170はプログレスバーがアニメーションしてる。
ラベルを点滅させたりする機能はないので、やるならタイマー使って自分で実装。
ラベルの背景を点滅させるだけにした例
http://ideone.com/RvXnz5
上のコードにはタイマーの設定が無いけど、タイマーのプロパティーのIntervalを点滅間隔(msec)に設定して、
Tickイベントをダブルクリックすれば、timer1_Tick()の雛型が出来るよ。
いずれにしろ、時間のかかる処理を実行する場合は、タスク等で非同期処理にする必要がある。
そうしないとGUIが固まるので、動きのある効果を出せない。
0175デフォルトの名無しさん (ワッチョイ 1c7b-AIfR)
2016/10/24(月) 23:19:31.36ID:zmhV7cki0配列Bに6,5,3,1,2,4とあるとして、配列Aと同じ順番に配列Bをソートしたいと思っているんですが、
forの2重にしてひとつひとつ比較して並べ替えるしか方法って無いんでしょうか?
0176デフォルトの名無しさん (ワッチョイ 9ddc-A7+C)
2016/10/24(月) 23:32:54.72ID:b4iOClrl0var sorted = from a in 配列A where bdict.ContainsKey(a) select bdict[a];
0177デフォルトの名無しさん (ワッチョイ dfc0-9S67)
2016/10/24(月) 23:34:24.42ID:+Pg3OEGx00178デフォルトの名無しさん (ワッチョイ 1c7b-AIfR)
2016/10/25(火) 00:03:13.22ID:guF/luut0ありがとうございました。
>>177
自分もクエリ式勉強中なのですが、どうも慣れていないせいか
しっくりこないです・・・
0179デフォルトの名無しさん (ワッチョイ 9ddc-A7+C)
2016/10/25(火) 00:16:44.02ID:ZSR0a5K90メソッド形式は高度に抽象化されてるとはいえ内部の手続きはまだなんとか透けて見える
ML系の本格的な関数型言語を学ぶとクエリ式の方が自然に感じられるようになる
0180デフォルトの名無しさん (アウアウ Sa76-48Mz)
2016/10/25(火) 00:22:06.79ID:vHFAVaN6a0181デフォルトの名無しさん (ワッチョイ 1c7b-AIfR)
2016/10/25(火) 00:41:40.24ID:guF/luut0あ・・・・・
そりゃそうですよねw
0182デフォルトの名無しさん (ワッチョイ 1c7b-AIfR)
2016/10/25(火) 01:28:34.91ID:guF/luut0>>180
コピーのような気がしたんですが、自分がやりたかったことでいうと、
xlsxの中に画像ファイル名、画像説明を順不同で入っている
画像名と説明をジャグ配列に格納(配列A)
画像ファイルのパスを配列Bに格納
配列Bを配列Aのファイル名順にソート
ということがしたかったので、やはり上で教えていただいたとおりにしたほうがコードがすっきりしました。
0183デフォルトの名無しさん (アウアウ Sa27-YT5Q)
2016/10/25(火) 02:09:08.09ID:RwrgdaWZa画像名と説明とパスを持つオブジェクト作って、その配列を持っとけばいいんでないの?
比較のインターフェイスの実装でファイル名を比較するようにすれば、なんとでもなるような。
別の配列に従ってソートとか、関係無いものでソートしているようで気持ち悪いし、おいおい困りそう。
0184デフォルトの名無しさん (ワッチョイ 9ddc-YT5Q)
2016/10/25(火) 06:43:34.05ID:ZSR0a5K90実際、そのものズバリなメソッドがある
https://msdn.microsoft.com/ja-jp/library/85y6y2d3(v=vs.110).aspx
0185デフォルトの名無しさん (ブーイモ MM6d-vevC)
2016/10/25(火) 06:59:06.17ID:NvEtdSjAM0186デフォルトの名無しさん (スププ Sdb8-YT5Q)
2016/10/25(火) 12:26:17.11ID:74VODe2Idおー、これは勉強になる。ありがとう。
>>185
ポインタの配列と聞かれると確かに納得感あるな。
0187デフォルトの名無しさん (ワッチョイ ed87-l6JH)
2016/10/25(火) 13:05:36.36ID:uBRc/ViR0先日はレスありがとうございました。
アプリケーションの使われ方で根本的な問題があって、一旦棚上げしております。
次にお聞きしたいことがありまして、
DataGridViewの通常モード(not仮想モード)で、
画面に表示されているときだけ、決まったセルに画像を表示し、
スクロールされて画面外に出たときはその画像を削除する方法はありますでしょうか。
仮想モードを使えない理由は、DataGridViewのテーブルを動的に作成しており、
インプットデータとDataGridViewのあるセルの数値を見て、
新規行を追加するかしないかを判定してるため、予め最終的な行数がわからないためです。
0188デフォルトの名無しさん (ワッチョイ ed87-l6JH)
2016/10/25(火) 15:51:31.59ID:uBRc/ViR0ですが、フォームのサイズを変更されると、
現在見えてる行数が変わるのですが、
それが取得出来なくて、表示処理に苦心しております。
最終手段はDataGridViewのサイズから行の高さで割り返して
求めるしかないとかと思っていますが、
他にスマートな方法などありますでしょうか。
0189デフォルトの名無しさん (ワッチョイ 5d94-iDGi)
2016/10/25(火) 16:25:22.37ID:7TH0YyHm0ではうまくいかない?
0190デフォルトの名無しさん (ワッチョイ ed87-l6JH)
2016/10/25(火) 16:31:54.92ID:uBRc/ViR0ありがとうございます!
見事取得することが出来ました!
感謝です!
0191デフォルトの名無しさん (ワッチョイ e03c-9S67)
2016/10/25(火) 20:52:27.11ID:c343kGsU0ありがとうございます。
参考にします。
0192デフォルトの名無しさん (ワッチョイ fb0d-JJ20)
2016/10/27(木) 09:31:19.17ID:z/oC4hLu0それを自身のMy.Hogeという名前空間上で利用するにはどうしたらいいでしょうか?
using Hoge;
namespace My.Hoge {
...
//Hogeは自身(My.Hoge)の方が参照されてしまいエラーになる
var fuga = new Hoge.Fuga();
0193デフォルトの名無しさん (ワッチョイ 0319-xC4o)
2016/10/27(木) 09:47:56.97ID:6XhIQECk00194デフォルトの名無しさん (ワッチョイ fb0d-JJ20)
2016/10/27(木) 09:58:13.92ID:z/oC4hLu0できました!ありがとうございます!!
0195デフォルトの名無しさん (ワッチョイ a387-corf)
2016/10/27(木) 14:25:21.93ID:wen2xrAS0DataGridViewで、特定の列のセルが選択されているかどうかを簡単に判定する方法はありますでしょうか。
具体的な例ですと、1列目のセル(どこの行でも良い)が選択されていればtrue、
どこのセルも選択されていないか、他の列のセルが選択されている場合はfalseを得たいと思っています。
なお、選択されているセルが複数列に及んでいる場合、1列目が含まれていればtrueで良いです。
0196デフォルトの名無しさん (JP 0H7f-WjTj)
2016/10/27(木) 14:42:40.44ID:0JCOu095H0197デフォルトの名無しさん (ワッチョイ a387-corf)
2016/10/27(木) 14:53:51.07ID:wen2xrAS0レスありがとうございます。
今朝からずっと調べているのですが、
行全体が選択されているときなどは取得する方法はわかったのですが、
セルだけ選択されているときの判定がわからないでいます。
選択されているセルの位置を個別に判定すればもちろんわかるのですが、
すっきりした方法がないかと思い質問させていただきました。
0198デフォルトの名無しさん (ワッチョイ a387-corf)
2016/10/27(木) 17:51:25.17ID:wen2xrAS0結局個別のセルの列番号を判定して処理することにしました。
ありがとうございました。
0199デフォルトの名無しさん (ワッチョイ 875b-ftE3)
2016/10/30(日) 07:47:13.97ID:x2/G0x4G0https://msdn.microsoft.com/ja-jp/library/dn584397(v=vs.110).aspx
0200デフォルトの名無しさん (ワッチョイ e7ed-lCKD)
2016/10/30(日) 10:33:24.81ID:FLgXsJlx0使えないのでしょうか?
0201デフォルトの名無しさん (ワッチョイ e3dc-ijxz)
2016/10/30(日) 20:15:29.09ID:payAbzEM0.NETの一番の用途は業務アプリなんだから、
Edgeが更新されて動かへんようになったやないかどないしてくれんねん客の業務止まってんねんぞボケェ!
となるのはMSも嫌だろう
0202デフォルトの名無しさん (ワッチョイ d3a1-O9pn)
2016/10/30(日) 20:52:10.17ID:MO+ginbx00203デフォルトの名無しさん (ワッチョイ 3f13-Jz20)
2016/10/30(日) 21:22:13.26ID:qBBSmv5i00204デフォルトの名無しさん (ワッチョイ 0323-0DI1)
2016/10/30(日) 22:04:35.41ID:jy83/5Dm00205デフォルトの名無しさん (ワッチョイ 9b7b-nx48)
2016/10/31(月) 01:27:08.66ID:y972gnmv0WebViewはStoreAppでもUWPでも用意されてるぞ
なんのエンジン使ってるのかは知らんけど
0206デフォルトの名無しさん (オッペケ Sr7f-Jz20)
2016/11/02(水) 13:52:56.07ID:QQnK2Nx3r別サーバー用意するんじゃなくアプリ単体で解決したいんだ
前にsqLite使ったことあるんだけど
頻繁にロックかかるしファイル丸見えだからあまり現実的じゃないと思った
ちなみにデータベースエンジンとデータベースそのものの区別はわかっとるつもり
0207デフォルトの名無しさん (ワッチョイ 8f4c-Jz20)
2016/11/02(水) 14:07:13.78ID:g1lvpi1B0ファイルベースで解決できるし
0208デフォルトの名無しさん (オッペケ Sr7f-Jz20)
2016/11/02(水) 14:11:59.91ID:QQnK2Nx3r使いやすさでいえばSQLiteなんだけどね
何かの拍子にロックかかったらデータベースファイルをコピーしたファイルを使うしかロック回避できないんだよなあ
まあアクセスできなくなったらコピってそっちにアクセス、でいいんだけど…
あと機密情報とか簡単に見れてしまうのはどうしようもないよね
0209デフォルトの名無しさん (JP 0H7f-WjTj)
2016/11/02(水) 14:16:26.97ID:008SucRsH0210デフォルトの名無しさん (オッペケ Sr7f-Jz20)
2016/11/02(水) 14:32:24.63ID:QQnK2Nx3r0211デフォルトの名無しさん (ワッチョイ 8723-0DI1)
2016/11/02(水) 16:28:36.49ID:Rf/eTlDT0ef6でもサポートしているし、何故かMSが捨てきれていない
0212デフォルトの名無しさん (ワッチョイ 8390-lCKD)
2016/11/02(水) 22:52:02.30ID:WjbdorWW0呼び出ししてhttpレスポンスコードをによって処理を変えたいときなどかなり不便です
http://ideone.com/WJJD1C
どんなふうに実装すればいいかアドバイスがほしいです
0213デフォルトの名無しさん (ワッチョイ e3dc-ijxz)
2016/11/02(水) 23:55:15.23ID:pD2pdTer00214デフォルトの名無しさん (ワッチョイ e990-7tG6)
2016/11/03(木) 13:15:37.09ID:UTe4MGM80どうにかして自分で自作ラッパー的なものを作りたいです
0215デフォルトの名無しさん (アウアウカー Sab5-DGmA)
2016/11/03(木) 13:17:40.60ID:ISr+08kWa0216デフォルトの名無しさん (ワッチョイ 7b49-XA/h)
2016/11/03(木) 13:23:23.18ID:5mG4/m370どこのガセネタだ。
0217デフォルトの名無しさん (ワッチョイ e990-7tG6)
2016/11/03(木) 14:04:43.28ID:UTe4MGM800218デフォルトの名無しさん (アウアウカー Sab5-DGmA)
2016/11/03(木) 14:08:58.34ID:ISr+08kWa0219デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 15:05:14.53ID:qQ11y2tH0なんで空文字列""を返してくれないんですか
0220デフォルトの名無しさん (ワッチョイ 7bc0-Xqtn)
2016/11/03(木) 15:29:38.41ID:k4niuvLf00221デフォルトの名無しさん (ワッチョイ e93a-DGmA)
2016/11/03(木) 16:26:25.12ID:ojzMDh+/00222デフォルトの名無しさん (ワッチョイ 137b-A9qr)
2016/11/03(木) 17:52:26.46ID:ZHf7iZNF0要素がないのと空要素があるのは区別したいじゃん?
要素がないのは異常、なら例外でも良いけど要素がないのを認めるケースもあるじゃん?
0223デフォルトの名無しさん (ワッチョイ 9694-F00D)
2016/11/03(木) 19:07:59.15ID:9RMeDev800224デフォルトの名無しさん (ワッチョイ bd91-DGmA)
2016/11/03(木) 21:26:17.75ID:pfzagnMt00225デフォルトの名無しさん (ワッチョイ 01d6-8n5s)
2016/11/03(木) 21:58:25.17ID:n66bP8+L00226デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 22:24:56.14ID:qQ11y2tH0作った人頭悪いの?
0227デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 22:30:21.05ID:qQ11y2tH00228デフォルトの名無しさん (ワッチョイ 5194-rqdB)
2016/11/03(木) 22:33:10.42ID:Z2ns8N+e00229デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 22:39:48.45ID:qQ11y2tH0一見して何してるか判らんのはダメなんですよ
>IsNullOrEmpty
こんなの後付けするぐらい無計画に作ったん?
0230デフォルトの名無しさん (アウアウオー Sade-MAch)
2016/11/03(木) 22:42:14.95ID:Zn5aPZIfaたぶん頭が悪くて勘違いしてるのは君の方だと思うよw
もちろんメソッドの仕様が不適切な可能性も否定できないが、
空文字とnullを区別するのはむしろ当たり前だし、空文字とは別にnullを
返すことでしか満たせない要件があるのは一般的なことで、
それだけで直ちに間違ってるとは言えない。
0231デフォルトの名無しさん (ブーイモ MM31-m5qj)
2016/11/03(木) 22:43:40.66ID:sUyi6SurM0232デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 22:44:00.61ID:qQ11y2tH0ああいう風にできないの?
string型扱う度にいちいちnull判定なんてしてられないよ
0233デフォルトの名無しさん (ワッチョイ 9030-Tcji)
2016/11/03(木) 22:44:10.88ID:tnVEjylW00234デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 22:49:08.44ID:qQ11y2tH0お前が話の論点理解できないほど相当頭悪いのは判った
0235デフォルトの名無しさん (アウアウオー Sade-MAch)
2016/11/03(木) 22:50:02.92ID:Zn5aPZIfaチ〜ン。終わってる
0236デフォルトの名無しさん (ブーイモ MM31-m5qj)
2016/11/03(木) 22:50:47.42ID:sUyi6SurM0237デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 22:50:51.90ID:qQ11y2tH0そもそも??なんていう意味不明な記号を演算子にする理由がわからない
これならIsNullOrEmptyでも使った方がマシってもんだよ
0238デフォルトの名無しさん (ワッチョイ 9030-Tcji)
2016/11/03(木) 22:51:34.18ID:tnVEjylW0現状はできないので↓にFeature requestを書いてくればいい
https://github.com/dotnet/roslyn/issues
素晴らしいアイデアならC#9あたりで導入されるだろう
ここで愚痴ったところで100年経っても導入されないから行動したまえ
単に愚痴が言いたいだけなら、ここでなく観葉植物にでも聞いて貰いたまえ
0239デフォルトの名無しさん (ワッチョイ 137b-A9qr)
2016/11/03(木) 22:53:06.27ID:ZHf7iZNF0できないよ
nullがいやならC#は無理だね
他の言語に行こう
0240デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 22:56:10.34ID:qQ11y2tH0やっぱC#ってダメなの?
0241デフォルトの名無しさん (アウアウオー Sade-MAch)
2016/11/03(木) 22:56:39.43ID:Zn5aPZIfa俗にいう「例外を握りつぶす」ようなことをする困ったちゃんね。
nullを返さない仕様のはずのメソッドがnullを返すことがあればそれはバグだってことがわからないのな。
0242デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 22:59:22.69ID:qQ11y2tH0そりゃVB使いに失礼だろ
>>233によると俺以外にも疑問に思ってる奴はいたらしいし
0243デフォルトの名無しさん (アウアウオー Sade-MAch)
2016/11/03(木) 23:00:46.73ID:Zn5aPZIfa0244デフォルトの名無しさん (ワッチョイ 9030-Tcji)
2016/11/03(木) 23:00:48.11ID:tnVEjylW00245デフォルトの名無しさん (ワッチョイ 9030-Tcji)
2016/11/03(木) 23:01:59.57ID:tnVEjylW0向こうは物わかり良かったし
0246デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 23:06:23.47ID:qQ11y2tH0ここは無能ばかりですかー
0247デフォルトの名無しさん (ワッチョイ 01d6-8n5s)
2016/11/03(木) 23:06:45.61ID:n66bP8+L00248デフォルトの名無しさん (ワッチョイ 71cb-DGmA)
2016/11/03(木) 23:06:55.78ID:K939jIpn0そのケースはどういう対応をする予定なんだ?
仕様にヌケがある問題をコーディングの問題にすり替わってね?
0249デフォルトの名無しさん (ワッチョイ 9030-Tcji)
2016/11/03(木) 23:07:58.07ID:tnVEjylW0いいだよ!ってどこぞの田舎貴族か?
現状はできないので↓にFeature requestを書いてくればいい
https://github.com/dotnet/roslyn/issues
素晴らしいアイデアならC#9あたりで導入されるだろう
ここで愚痴ったところで100年経っても導入されないから行動したまえ
単に愚痴が言いたいだけなら、ここでなく観葉植物にでも聞いて貰いたまえ
0250デフォルトの名無しさん (アウアウオー Sade-MAch)
2016/11/03(木) 23:10:56.52ID:Zn5aPZIfa彼の言ってることは全然素晴らしくない
何か盛大に勘違いしてるだけ
勘違いしてる奴を増長させて他人に迷惑掛けるようなこと言わないのw
0251デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 23:11:43.68ID:qQ11y2tH0そのときは俺の書き込みを思い出して欲しい
0252デフォルトの名無しさん (ワッチョイ 5194-rqdB)
2016/11/03(木) 23:14:09.69ID:Z2ns8N+e00253デフォルトの名無しさん (ワッチョイ e63c-DGmA)
2016/11/03(木) 23:14:28.83ID:NjbREez30そういうクラスを作ればいいだけ
誰が作るかって?
当然必要としてる人だよね?
0254デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 23:15:20.85ID:qQ11y2tH0またお前かって煽られながらな!
>>249
今のC#の仕様でできないかって主旨だからねえ
将来のC#がどうなろうが興味ないんで
0255デフォルトの名無しさん (ワッチョイ e63c-DGmA)
2016/11/03(木) 23:16:58.79ID:NjbREez30フィールドの not null 属性の話でしょ
0256デフォルトの名無しさん (ワッチョイ 91b6-m5qj)
2016/11/03(木) 23:22:32.46ID:kHdtgxJa00257デフォルトの名無しさん (ワッチョイ 71cb-DGmA)
2016/11/03(木) 23:25:14.82ID:K939jIpn0何がいいのかぶっちゃけわからない
プログラムで扱うならCSVのが遙かに楽だし
客に編集させるならiniファイルのが絶対にいい
100行以上あってネストもそれなりなxmlなんて編集できないだろパンピーじゃ
0258デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/03(木) 23:31:06.42ID:qQ11y2tH0>null合体演算子
仮にそういうクラスや演算子使うとしてもさー
文字列処理する度にあちこちに埋め込むつもりなの君たち?
どうせ書き忘れてぬるぽするだけだろ
0259デフォルトの名無しさん (ワッチョイ e63c-DGmA)
2016/11/03(木) 23:37:31.91ID:NjbREez30> 文字列処理する度にあちこちに埋め込むつもりなの君たち?
意味わからん
0260デフォルトの名無しさん (スップ Sd78-DGmA)
2016/11/03(木) 23:50:23.32ID:HfUe3JFnd0261デフォルトの名無しさん (ワッチョイ bd76-8Y51)
2016/11/03(木) 23:53:37.53ID:q/VeKpe70もともとパンピーの利用を想定してないと思う。
DTDとか定義して厳密データ交換とかXPath/XSLTでの二次利用想定してたけど
あまりにも面倒なのでJSONとかYAMLに取って代わられてしまったな
HTML4の次を策定したときにXHTMLが主流になれなかった時に終わったと思う
>>258
nullが来ない前提で書いてぬるぽはテストで潰し切るけどなあ。
nullで問題あるなら突っ込んだ時点でNGなんだから
DB絡みならDBの型を全部NOT NULLにしておけばそう発生しないし
全部NOT NULLで定義できないなら結局nullable型(または判定処理)は必要ってことだし
0262デフォルトの名無しさん (スップ Sd78-DGmA)
2016/11/04(金) 00:12:02.56ID:j7dIV/6vdCSVは階層構造に出来ないから扱いにくい
0263デフォルトの名無しさん (ワッチョイ 34ce-uTye)
2016/11/04(金) 00:16:43.73ID:0ODaAY8200264デフォルトの名無しさん (スップ Sd78-DGmA)
2016/11/04(金) 00:22:15.02ID:j7dIV/6vd0265デフォルトの名無しさん (ワッチョイ 71cb-DGmA)
2016/11/04(金) 00:25:49.04ID:S7YCyC790階層にする意味ねーし
0266デフォルトの名無しさん (スップ Sd78-DGmA)
2016/11/04(金) 00:30:11.38ID:j7dIV/6vd0267デフォルトの名無しさん (ワッチョイ fd4a-DGmA)
2016/11/04(金) 00:31:18.26ID:t9kfIjwC00268デフォルトの名無しさん (ワッチョイ 71cb-DGmA)
2016/11/04(金) 00:33:20.91ID:S7YCyC790階層構造なんて取っ払っておいたほうがいい
0269デフォルトの名無しさん (スップ Sd78-DGmA)
2016/11/04(金) 00:35:34.02ID:j7dIV/6vd0270デフォルトの名無しさん (ワッチョイ 71cb-DGmA)
2016/11/04(金) 00:38:47.72ID:S7YCyC790でもね
世の中そーなってんの
なのでツリーを積極的に作る奴はそれだけで無能
まあ、一度xmlで書いてみれば本当に必要だった構造が見えていいかも新内
0271デフォルトの名無しさん (スップ Sd78-DGmA)
2016/11/04(金) 00:41:52.66ID:j7dIV/6vd0272デフォルトの名無しさん (ワッチョイ 71cb-DGmA)
2016/11/04(金) 01:07:31.20ID:S7YCyC7900273デフォルトの名無しさん (ワッチョイ 653c-DGmA)
2016/11/04(金) 01:18:45.12ID:l35mknxG0じゃあとりあえず、適当なcsprojをCSVで書いてごらん
0274デフォルトの名無しさん (ワッチョイ 3ee1-umBA)
2016/11/04(金) 01:36:14.39ID:9ZtkjL7R0みんな頓珍漢なこと言ってるけど、nullを返さないことを保証するのは需要もあるし、すでに標準ライブラリには導入されてる。
もちろん、空文字を返すよりもnullを返すほうが合理的なこともあるから常にnullを返さないわけではないけど
契約プログラミング(Code Contract)
https://msdn.microsoft.com/ja-jp/library/dd264808(v=vs.110).aspx
例えば、String.Concatのソースを見ると
https://referencesource.microsoft.com/#mscorlib/system/string.cs,a17e32697e4baaf6
に以下のような契約が書いてある
Contract.Ensures(Contract.Result<String>() != null);
これは、戻り値がnullではないと保証する、ということ。
逆に、これがない場合はnullを返す可能性を考慮したほうがよい
現状言語仕様レベルでは契約プログラミングは組み込まれていないので、静的な処理をコンパイラの外で行う必要がある
もちろん言語仕様に組み込む要望は出てるが、やることが多すぎて手が回ってないのでまだ入りそうにはない
https://github.com/dotnet/roslyn/issues/119
Swiftみたいに新しい言語ではnullを許容しない型とかもあるんだけど、なんせC#は15年前の仕様を破壊するわけにいかないので
0275デフォルトの名無しさん (ワッチョイ 3ee1-umBA)
2016/11/04(金) 01:43:43.03ID:9ZtkjL7R0>空文字を返すよりもnullを返すほうが合理的なこともあるから常にnullを返さないわけではないけど
っていうのは、非null契約が無いメソッドではってことね
非null契約があれば絶対にnullは返さない
非null契約に違反してnullを返そうとすると、静的処理でエラーになるとか、実行時に例外や強制終了になるはず(自分の認識では)
0276デフォルトの名無しさん (ワッチョイ 7213-DGmA)
2016/11/04(金) 01:44:56.97ID:fGBbyDJX00277デフォルトの名無しさん (ワッチョイ 71cb-DGmA)
2016/11/04(金) 08:12:03.85ID:S7YCyC790データをDBに移しますね
の一言でend
そしてそれはあるあるNo1
0278デフォルトの名無しさん (スフッ Sd28-DGmA)
2016/11/04(金) 08:13:58.66ID:eeRk3Y1vd0279デフォルトの名無しさん (スフッ Sd28-DGmA)
2016/11/04(金) 08:15:29.14ID:eeRk3Y1vdDBnullに相当する値か状態を表現したクラスしかないのでは?って。
重いとは思うが、それをXMLにあてればいいと思うけど。
0280デフォルトの名無しさん (ワッチョイ b0da-uTye)
2016/11/04(金) 08:19:28.81ID:Oa4odGBb01.5, 3.25, 6.75, 3.375 ....
これら全てが整数になる共通の値を見つけたいのですが、何かいい方法はないでしょうか?
単純に小数点以下が一番長い物に合わせて、1000倍などにしてもいいのかもしれませんが、
できるだけ最小の値にしたいと考えています
0281デフォルトの名無しさん (ワッチョイ b0da-uTye)
2016/11/04(金) 08:22:04.24ID:Oa4odGBb0乗算について抜けていましたすみません
0282デフォルトの名無しさん (ワッチョイ 91dc-dKGq)
2016/11/04(金) 08:37:27.49ID:Fu63hJgb00283デフォルトの名無しさん (ワッチョイ e63c-DGmA)
2016/11/04(金) 08:40:47.32ID:sU8qFob40リレーションがなんのためにあると思ってるんだ? w
0284デフォルトの名無しさん (ワッチョイ 3223-8n5s)
2016/11/04(金) 08:41:56.32ID:Nv4A79J/0小数点以下を分数に変換して最小公約数を求めたら良いんじゃないの?
0285デフォルトの名無しさん (ワッチョイ 71cb-DGmA)
2016/11/04(金) 08:53:29.87ID:S7YCyC790それでいいんだよ
xmlで階層にすると悲劇が始まる
idかkey置いて階層は作らないのが正解
0286デフォルトの名無しさん (スップ Sd78-DGmA)
2016/11/04(金) 08:56:20.60ID:jjNRFD+ud>>273
0287デフォルトの名無しさん (ササクッテロレ Spbd-m5qj)
2016/11/04(金) 08:59:28.30ID:cFPdUXQMp単純に10のn乗をかけると循環小数で詰むので分数化するに一票
0288デフォルトの名無しさん (ワッチョイ 7213-DGmA)
2016/11/04(金) 09:01:06.22ID:fGBbyDJX00289デフォルトの名無しさん (スフッ Sd28-DGmA)
2016/11/04(金) 10:48:32.91ID:eeRk3Y1vdそれで端数が出たら、素数で割ってけば良いよ。
だいたい23くらいまで持ってたらきれいな数字になる。
分数化は面倒だろ。
0290デフォルトの名無しさん (アウアウオー Sade-MAch)
2016/11/04(金) 12:29:37.50ID:whUy0fqsa宿題スレかお題スレの方がいいと思うけど、
a = 1.5, b = 3.25, c = 6.75, ....
与えられたすべての小数を整数にする最小の10の乗数をRとする
求める共通の値xが見つかったとき、a * x, b * x, c *x, ....は1以外の公約数を
持たないはずだから(ただしa, b, c, ....がすべて同じ値である場合を除く)
a * R, b * R, c * R, ....の最大公約数をGとするとき、
x = R / G
でいいような気がする。
厳密な証明は知らん
0291デフォルトの名無しさん (ドコグロ MMde-DGmA)
2016/11/04(金) 14:08:33.75ID:T6Zzc5iHMお前は Excel 使っとけ w
0292デフォルトの名無しさん (ドコグロ MMde-DGmA)
2016/11/04(金) 14:10:31.34ID:T6Zzc5iHM単純に分数にすると無理数で詰むので...
0293デフォルトの名無しさん (ワッチョイ d30d-uTye)
2016/11/04(金) 14:56:57.15ID:al1IuUx20ファイルやフォルダの一覧を階層構造のTreeViewで表示したいのですが
EnumerateFileSystemEntries を使って実装する方法を教えてください
参考になるサイトやサンプルでも構いません
自分で探してみても単に取得する処理だけのもの(Viewへの適用などが無い)などしか見当たらず困っています
0294デフォルトの名無しさん (アウアウカー Sab5-DGmA)
2016/11/04(金) 15:41:50.56ID:zqM+jrKca数学的に無理数の範囲でこの問題って解けるのか?
有理数じゃないと無理な気がするけど
0295デフォルトの名無しさん (アウアウカー Sab5-DGmA)
2016/11/04(金) 15:47:46.77ID:zqM+jrKca0296デフォルトの名無しさん (ワッチョイ bcdc-dKGq)
2016/11/04(金) 16:23:04.07ID:V0keAHui0オブジェクトツリーが作れたらItemsSourceに放り込んでHierarchicalDataTemplateを定義するだけ
0297デフォルトの名無しさん (ワッチョイ 8a02-2mfK)
2016/11/04(金) 21:51:02.32ID:tYyOp6nC0そもそも求める数が整数とか有理数に限るとはどこにも書いてないがな
0298デフォルトの名無しさん (ワッチョイ 3223-8n5s)
2016/11/04(金) 22:23:15.39ID:Nv4A79J/0求めたいものが何であるかによるけどね
0299デフォルトの名無しさん (ワッチョイ bcdc-DGmA)
2016/11/05(土) 00:26:17.96ID:u9ZZUUBm0当てずっぽうでやるんならわざわざ分数化しなくても
最初から試しに乗算してみて整数っぽくなったらOKでいいだろw
0300デフォルトの名無しさん (ワッチョイ 7220-8n5s)
2016/11/05(土) 09:41:59.67ID:OZKlek+X0asyncで書いてみたのですが、100回くらいfor文でコールすると
logx.txtが12個とかしか作られません
処理時間で処理が打ち切られたりするのでしょうか?
private static async void TestM(string i)
{
using (FileStream fs=new FileStream(@"F:\work\log" + i + ".txt",
FileMode.Append,
FileAccess.Write,
FileShare.ReadWrite))
{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8);
TextWriter tw = TextWriter.Synchronized(sw);
tw.WriteLine("test");
tw.Flush();
}
}
static void Main(string[] args)
{
for(int i = 0; i < 100; i++)
TestM(i.ToString());
}
0301デフォルトの名無しさん (ワッチョイ bcdc-dKGq)
2016/11/05(土) 09:56:26.86ID:u9ZZUUBm0同時に使用されるスレッド数には限りがあり、残りのタスクはキューに溜まるだけ
普通にnew Threadしたら
0302デフォルトの名無しさん (ワッチョイ e63c-DGmA)
2016/11/05(土) 10:06:58.71ID:6wNzhQFs0> そもそも求める数が整数とか有理数に限るとはどこにも書いてないがな
えっ?
>>280
> これら全てが整数になる共通の値を見つけたい
0303301 (ワッチョイ bcdc-dKGq)
2016/11/05(土) 10:09:53.89ID:u9ZZUUBm0いやそもそもasyncの使い方がおかしいな 戻り値voidの場合、awaitが無いとasyncキーワードは全く何の意味も持たない
ワーニング出てるだろ?
(意図とは違うだろうけど)TestMは普通に同期で順番に実行されてるはずだから、
単にswやtwを閉じてないために出力されてないだけじゃないか?
あとasync void使うな
0304デフォルトの名無しさん (ワッチョイ 5194-rqdB)
2016/11/05(土) 10:38:43.04ID:9mC8a8qM0>>303の言うとおり非同期実行ではなく順番に一個ずつ書き込んでいってるはずだから
Mainのforループがエラーなく最後まで回っているかを確認してみたら
0305300 (ワッチョイ 7220-8n5s)
2016/11/05(土) 19:19:50.22ID:OZKlek+X0精進します
0306デフォルトの名無しさん (ワッチョイ 0117-7tG6)
2016/11/05(土) 20:30:25.56ID:ds+C0ndM0そういう風にしか書かれてないとこ多いもん。
0307デフォルトの名無しさん (ワッチョイ 1541-nJsM)
2016/11/05(土) 21:34:08.85ID:q4/6QuN40分かったフリして書く
↓
それを読んで分かった気になる
以下ループ
0308デフォルトの名無しさん (ワッチョイ 9030-Tcji)
2016/11/05(土) 21:42:26.72ID:BoxZvYjG0お前用のゴミを公開するな
非公開で保存できるんだから
0309デフォルトの名無しさん (ワッチョイ 71cb-DGmA)
2016/11/05(土) 22:52:00.60ID:iEc26fmZ0いまブログ書いてるやつがどういうつもりかわからんし触りにくいってのあるよなぁ
お節介やいてストーキングまでされたらたまらんし
殴り合い上等でブログやってる人ならいいが
最近打たれ弱いくせに公開するアホ増えたからなぁ
0310デフォルトの名無しさん (ワッチョイ 21c8-umBA)
2016/11/06(日) 17:53:34.18ID:RAhQzM620GUIにバインドするクラスに以下のような2つのプロパティがあるとき
int Value { set; get; }
int Value2 { get { return this.Value * 2 } }
Value の値が変わると自動的に Value2 の結果も変動するため、
Value の setter で、Value、Value2 の2つの PropertyChanged を投げる実装をしました。
しかし、Value が Value を利用してるプロパティの面倒まで見ることに違和感を覚えます。
これは INotifyPropertyChanged の仕様として仕方が無いのでしょうか。
0311デフォルトの名無しさん (ワッチョイ 01d6-8n5s)
2016/11/06(日) 19:37:13.87ID:jO0QNoEc0氏名と名字、名前でも同じだしね
0312デフォルトの名無しさん (ワッチョイ 137b-A9qr)
2016/11/06(日) 20:19:58.80ID:A8MT+yST0Valueが変更されてたらValue2のPropertyChanged起こすとかできるけど
同一クラス内でそんなの別に気にする必要もないんじゃね?
0313310 (ワッチョイ 21c8-umBA)
2016/11/06(日) 20:34:01.49ID:RAhQzM620ありがとうございます。そのままの実装で作ってみます。
0314デフォルトの名無しさん (オッペケ Srbd-X2H6)
2016/11/07(月) 16:48:49.99ID:oxea6kUxrコードレビューで散々ごねて書き直しさせた人がいましたww
0315デフォルトの名無しさん (オッペケ Srbd-X2H6)
2016/11/07(月) 16:51:52.12ID:oxea6kUxrこんな事まで勉強してる人は滅多にいないかな。
それを言って理解出来る人も極めた少数派。
0316デフォルトの名無しさん (オッペケ Srbd-X2H6)
2016/11/07(月) 16:55:30.10ID:oxea6kUxrあるあるww
0317デフォルトの名無しさん (アウアウオー Sade-MAch)
2016/11/07(月) 17:15:04.36ID:RVVbQ4DBa悪いけど、その程度のことは知ったうえでその質問者を批判してる人の方が多いと思うよw
0318デフォルトの名無しさん (ワッチョイ 9823-KjJO)
2016/11/07(月) 19:06:22.15ID:JC+EsK6v0実装が気になればReferenceSourceを見るのは普通だし
解説としてメジャーなufcpp.netでも触れられている
言語の詳細に興味がない、学ぶ気概がない人はそもそも…
0319デフォルトの名無しさん (オッペケ Srbd-DGmA)
2016/11/07(月) 19:10:13.37ID:Msy9mjY5rフィールド
publicなのは大文字開始でいいけど
privateなのをどうするか悩む
m_Hogeまたはm_hoge
f_Hogeまたはf_hoge
_Hogeまたは_hoge
0320デフォルトの名無しさん (ワッチョイ e9dc-DGmA)
2016/11/07(月) 19:52:43.99ID:07KTk/ms010馬身差で_hogeとm_hogeじゃないか
0321デフォルトの名無しさん (アウアウオー Sade-MAch)
2016/11/07(月) 19:53:21.45ID:RVVbQ4DBaそれ以外のフィールドはmHoge
0322デフォルトの名無しさん (ワッチョイ 45bd-bOSl)
2016/11/07(月) 20:47:02.70ID:PlwpY0UQ0ライブラリやツールつかって、やたら「簡単にできる」みたいなことを押す論調で、
紹介している奴。
「簡単にできる」 = 「自分自身で何やってるか、何が変わったかよくわからなく
なる」ということであって、
どうなるかの仕組みを考察したり解説したりするならいいが、
その盲点を無視して、
「ね?猿でもこんなこと簡単にできるでしょ?」
「使わなきゃ損でしょ?」とかはしゃいでいるガキには、物事を説明する
資格はない。そんな有害な記事はネットに上げるな。
0323デフォルトの名無しさん (アウアウオー Sade-MAch)
2016/11/07(月) 21:36:50.71ID:RVVbQ4DBaばっかじゃなかろうか
0324デフォルトの名無しさん (オッペケ Srbd-X2H6)
2016/11/07(月) 22:21:11.52ID:JoerH3dArごめんなさい。
極めて少数派
の打ち間違いです。
0325デフォルトの名無しさん (ワッチョイ 7220-8n5s)
2016/11/07(月) 23:00:37.04ID:geFZXkbd0いろいろ探して下記のようなコードで出力できることは
解ったのですが
JavaScriptSerializer seri = new JavaScriptSerializer();
var list = new[] { new[] { new[] {1,2 }, new[] { 2, 3 } } };
string json = seri.Serialize(list);
//出力結果:[[[1,2],[2,3]]]
これを [[[1,2],[2,3],[3,4]...]] のように動的に追記していくには
どのように書いたら良いのでしょうか?
コレクションのように .Add() で次々書けたら良いなと思うのですが
よろしくお願いします
0326デフォルトの名無しさん (ワッチョイ e9dc-dKGq)
2016/11/07(月) 23:09:18.73ID:07KTk/ms0本題の前に、
https://msdn.microsoft.com/ja-jp/library/system.web.script.serialization.javascriptserializer(v=vs.110).aspx
> Json.NET should be used serialization and deserialization.
とMS様もぶっちゃけてる通り、.NETでJSONを使うならJavaScriptSerializerではなく
デファクトスタンダードであるJson.NETを使いましょう
でJson.NETについて言うと、普通にList<T>をシリアライズすればJSONの配列になる。
事前に配列にしたいならToArrayすればいい。
0327デフォルトの名無しさん (ワッチョイ 7220-8n5s)
2016/11/07(月) 23:15:49.87ID:geFZXkbd0Json.NETを検討してみます
ありがとうございます
0328デフォルトの名無しさん (ドコグロ MMde-DGmA)
2016/11/08(火) 07:59:18.34ID:kkRkk3iCMお前もQiitaとやらで
超難しい!超時間掛かる!
簡単とか言ってるやついるけどぶっちゃけ難解!
人類には早すぎた!
って記事かけや
0329デフォルトの名無しさん (ワッチョイ 7b49-XA/h)
2016/11/08(火) 21:00:12.94ID:360M0HJP0TaskCreationOptions.LongRunningオプション付けてTaskを生成すれば専用のThreadになるから、生のThreadを使う必要ないよ。
それかスレッドプールの同時実行数をチューニングする方法もある。
0330デフォルトの名無しさん (ワッチョイ 7220-8n5s)
2016/11/08(火) 21:46:12.39ID:xSnQLWcm0json.netに変更した所で、やはり同じところで悩んでいます
下記コードで出力結果が"[[[1,2],[2,3]]]"となるのですが
var list = new[] { new[] { new[] {1,2 }, new[] { 2, 3 } } };
string json = Newtonsoft.Json.JsonConvert.SerializeObject(list);
これを [[[1,2],[2,3],[3,4]...]] のように動的に追記していくには
どのように書いたら良いのでしょうか?
色々調べても、jsonはキーバリューの形が一般的で
配列でどう表現するのか解りませんでした
よろしくお願いします
0331デフォルトの名無しさん (ワッチョイ e9dc-dKGq)
2016/11/08(火) 22:10:11.42ID:ic1oOtKi0JSON云々以前の問題
0332デフォルトの名無しさん (ワッチョイ 7220-8n5s)
2016/11/08(火) 23:23:57.86ID:xSnQLWcm0以下のようなコードで良い感じになってきたのですが
もう一つ配列の外カッコを表現することができませんでした
List<int[]> list = new List<int[]>();
list.Add(new[] { 1, 2 });
list.Add(new[] { 2, 3 });
list.Add(new[] { 3, 4 });
string json = Newtonsoft.Json.JsonConvert.SerializeObject(list);
//[[1,2],[2,3],[3,4]]
List<int[][]> list = new List<int[][]>();にすると
[[[1,2]],[[2,3]]]となってしまい
詰まっております
根本的に考え方が間違っているのでしょうか?
0333デフォルトの名無しさん (ワッチョイ 653c-m5qj)
2016/11/08(火) 23:35:34.26ID:qV47zIVg00334デフォルトの名無しさん (ワッチョイ 7220-8n5s)
2016/11/08(火) 23:55:21.12ID:xSnQLWcm0経験不足で、配列以外でやる方法が
想像つきません
どういうイメージでやれば良いのか
教えて頂きたいです
0335デフォルトの名無しさん (ワッチョイ 0117-7tG6)
2016/11/09(水) 00:02:28.77ID:hsAPe+Q00解決なら変数の内容というか意味を考えるべきだな。
var list2 = (new List<int[][]>());
list2.Add( list.ToArray() );
// list2 をシリアライズ
0336デフォルトの名無しさん (ササクッテロレ Spbd-m5qj)
2016/11/09(水) 03:15:10.85ID:qcMduGDNpList<int[]>[] list3= {list};
int[][][] list4= {list.ToArray()};
0337デフォルトの名無しさん (ワッチョイ e93a-DGmA)
2016/11/09(水) 03:33:35.81ID:KnEUpDo20List<List<List<int>>>
0338デフォルトの名無しさん (ワッチョイ 517b-8n5s)
2016/11/09(水) 05:25:22.53ID:moqMbmIT0とりあえずその部分に納得したいならこうやれば形になるよw
var list = new[] { new List<int[]>() };
list[0].Add(new[] { 1, 2 });
list[0].Add(new[] { 2, 3 });
0339デフォルトの名無しさん (ササクッテロレ Spbd-m5qj)
2016/11/09(水) 14:02:25.71ID:qcMduGDNp前提1: JSONはJavaScript Object Notationの略でjavascriptの文法をベースにした記法である
前提2: javascriptは動的型付け原語であり、C#は
静的型付け原語である
前述3: JSONにおける配列は[]で表され、C#のList<T>と配列はJSONの配列に変換される
前提1,2からC#で必要な型の情報はJSONには記述されないため、JSONをC#に変換する場合この型情報を補完しなければならない
前提3から動的な操作を行う個所はList<T>それ以外を配列で記述するといい
学習または理解のために
C#でもコンパイラによる型推論によって型宣言を省略できるが、理解するまでは省略せずに型をきちんと書く方が理解しやすい
よってvar禁止、初期化時の型宣言の省略禁止でそれぞれを書き換えてみると多少理解が進むんでないかな?
例として>>338のlistと>>336のlist3は省略せずに書くと以下のようになり同じものであるとわかる。
List<int[]>[] list = new List<int[]>[] { new List<int[]>() };
※ List<int[]>[] は intの配列(int[]) の リスト(List<T>) の 配列(末尾の[]) という意味
※ varは、右辺で型が明らかな場合コンパイラが型を推定して補完してくれる。コンパイル時に展開されるので省略せずに型を書くのと等価になる
0340デフォルトの名無しさん (ワッチョイ 3e4c-DGmA)
2016/11/09(水) 14:19:57.52ID:ESFv9usG0優しいなおめぇ
0341332 (ラクッペ MM2d-DGmA)
2016/11/09(水) 17:18:24.33ID:ItbFMo65M教えて頂いたList<T>にて
希望のjsonを作れました
基礎的な理解もなく
ネットで得る断片的なソースの
コピペでは応用が効かないと痛感しています
ありがとうございます
0342デフォルトの名無しさん (オッペケ Srbd-X2H6)
2016/11/09(水) 19:36:58.06ID:z4p8v0swrCtrl-C,Vを禁止するだけでプログラミング能力が上がるとか何とか。
0343デフォルトの名無しさん (ブーイモ MM31-m5qj)
2016/11/09(水) 20:18:59.79ID:GH2RO7KKM0344デフォルトの名無しさん (ワッチョイ 7220-8n5s)
2016/11/09(水) 21:32:55.41ID:xe8Gs44h0メンバ「intdata」の符号を反転するということをしたいのですが、
どのように書けば良いのでしょうか?
LINQで条件式が書けるとコードが随分小さくなるので
助かります!!!
class testClass
{
public string txt { get; set; }
public int intdata { get; set; }
}
static void Main(string[] args)
{
List<testClass> ts = new List<testClass>();
ts.Add(new testClass { txt = "a", intdata = 1 });
ts.Add(new testClass { txt = "b", intdata = 2 });
var tsFnc = ts.Select(e => e.txt == "a" ? e.intdata = e.intdata * -1); //←エラー
}
0345デフォルトの名無しさん (ブーイモ MM31-m5qj)
2016/11/09(水) 21:46:02.27ID:GH2RO7KKM? new testClass() { txt = e.txt , intdata = -e.intdata }
: e
0346デフォルトの名無しさん (ワッチョイ e9dc-dKGq)
2016/11/09(水) 21:58:25.28ID:EZkCstT40static testClass Hoge(testClass e) => (>>345);
のようにメソッドとして外出しした上で ts.Select(Hoge) と書くのがいいんじゃないかな
メソッド本体をラムダの形式でスマートに記述できるようになったことだし、
ちょっと複雑なラムダには積極的にメソッド名を付けることを心がけるといい
0347デフォルトの名無しさん (ササクッテロレ Spbd-m5qj)
2016/11/09(水) 22:25:47.94ID:qcMduGDNpそりゃ値を返さなければエラーになるよな
ts.Select( (e) =>{
if(e.txt=="a") e.intdata*=-1;
return e;
});
0348デフォルトの名無しさん (ワッチョイ 7220-8n5s)
2016/11/09(水) 22:41:05.99ID:xe8Gs44h0期待した結果が出ました。
ありがとうございます!!!
色んなサイトを回ったのですが、なかなか条件式を書いているサンプルが無かったもので、助かります!!!
0349デフォルトの名無しさん (ワッチョイ 7220-8n5s)
2016/11/09(水) 22:44:01.71ID:xe8Gs44h0従来のやり方を単純にラムダに変えるのではなく、
ラムダ的なスマートさも追及すべきということですね。
参考になります。
0350デフォルトの名無しさん (ワッチョイ 7220-8n5s)
2016/11/09(水) 22:49:39.71ID:xe8Gs44h0なんか重いんですよね。
やぼったく書いていた処理をラムダにしたら
可読性が上がった反面、処理に倍の時間がかかるようになってしまい。。。
便利ゆえの宿命なのか、
使いこなせてないだけなのか、
その両方かって気がしています。
0351デフォルトの名無しさん (ワッチョイ 5eed-DGmA)
2016/11/09(水) 22:52:28.34ID:GViSYmlw00352デフォルトの名無しさん (ワッチョイ 8a02-2mfK)
2016/11/09(水) 23:09:04.87ID:xK7OwzcU00353デフォルトの名無しさん (ワッチョイ e9dc-dKGq)
2016/11/09(水) 23:23:27.68ID:EZkCstT40インプレースで更新するんなら普通に
foreach (var e in ts) if (e.txt == “a”) e.intdata *= 1;
でいいだろ
副作用がないように見えてこっそり更新してるってのは罠に近い極めてタチの悪いコード
0354デフォルトの名無しさん (ブーイモ MM31-m5qj)
2016/11/09(水) 23:31:35.24ID:GH2RO7KKM実処理がメソッド呼び出しオーバーヘッドより少ない時かな
ボトルネックにはならないけど倍以上にはなる
0355デフォルトの名無しさん (ワッチョイ f023-8n5s)
2016/11/09(水) 23:31:54.26ID:0UIYYtz/00356デフォルトの名無しさん (ワッチョイ 9f02-u2pL)
2016/11/10(木) 01:11:52.00ID:gZ1S6RPu0サンプルコードある?
その論理でいくと、実処理がゼロの時が最も顕著で
通常のループよりLINQでのループ(列挙)が倍以上遅いってことになるんだが
繰り返し判定が遅いのかループの準備が遅いのか知らんが
LINQのほうが多少遅いとしても、どれだけ回したら有意な差がでるほどオーバーヘッドあるんだ
0357デフォルトの名無しさん (ワッチョイ 8fe1-PwKp)
2016/11/10(木) 01:38:07.59ID:zCCtWAZL0たぶん、無駄のある書き方してるか、最適化を邪魔するような記述になってるんじゃないかな
0358デフォルトの名無しさん (ブーイモ MM6f-9MLS)
2016/11/10(木) 01:48:41.09ID:4pFcdHJlMだからボトルネックにはならないって書いたじゃん
倍になろうが大したことない
遅い派の人は処理オーダー違うアルゴリズムと比較してるんだろ
0359デフォルトの名無しさん (ワッチョイ 4bc0-WVKM)
2016/11/10(木) 02:05:10.17ID:wdbpo9Rt00360347 (ワッチョイ 033c-9MLS)
2016/11/10(木) 02:45:22.58ID:BAuxaWeL0いや俺に言われても>>344が求めてるのは "LinqのSelectで〜メンバ「intdata」の符号を反転する" 方法だからな
要求仕様がLinqのSelectで行うことを明示していて、intdataの反転した別インスタンスを返すではなくメンバ変数を反転すると定義しているならそう書くだけだ
こんな書き方するべきじゃないってのはその通りだがそれは>>344に言ってくれ
0361デフォルトの名無しさん (オッペケ Sr2f-WFrU)
2016/11/10(木) 03:27:07.24ID:+tyQ2nEUr>>345が考え方としてはよろしい。
0362デフォルトの名無しさん (オイコラミネオ MMdf-h9op)
2016/11/10(木) 09:30:47.14ID:SIcifk3eM0363デフォルトの名無しさん (アウアウオー Saff-IeI3)
2016/11/10(木) 10:49:41.41ID:otGHoxmha>>353は途中まで普通のこと言ってるのに>>345は否定しないのはおかしいw
0364デフォルトの名無しさん (ワッチョイ b3dc-PwKp)
2016/11/10(木) 12:52:58.94ID:+0vOVL7/0分かりにくい糞コードかもしれないが、コードの形をした糞である>>347のように完全否定されるほどのものではないよ
0365デフォルトの名無しさん (ワッチョイ 033c-9MLS)
2016/11/10(木) 13:14:42.66ID:BAuxaWeL0そもそもSelectを使うのが間違いというのは議論の余地がないからいいとして、副作用を避けるなら>>345はないわw
元のインスタンスと別インスタンスとを混在させて返すってのは罠じゃないのかと
new testClass() { txt = e.txt , intdata = e.intdata*(e.txt=="a"?-1:1) };
別インスタンスを返すなら符号の反転の有無に関わらず必ず別インスタンスで返すべき
0366デフォルトの名無しさん (ワッチョイ a723-teht)
2016/11/10(木) 13:43:53.32ID:o8sMendu0例えばこんなやつ
http://ideone.com/YQ5uTI
0367デフォルトの名無しさん (ワッチョイ a70d-Cgco)
2016/11/10(木) 20:14:55.52ID:jVtZ8e8U0そのようなテンプレートを探しています
「AvalonDock」というものは見つけましたが他にご存知なら教えてください
0368デフォルトの名無しさん (ブーイモ MMef-9MLS)
2016/11/10(木) 20:37:33.96ID:uFjDSD4sMもう少し視野を広くした方がいい
データ転送オブジェクトや値オブジェクトといったワードで検索してごらん
そのあとはクエリ・コマンド分離の原則を調べよう
0369デフォルトの名無しさん (オッペケ Sr2f-WFrU)
2016/11/10(木) 21:24:48.41ID:+tyQ2nEUrそれの有り難みが理解出来る人は人類では、ほとんどいないw
0370デフォルトの名無しさん (ワッチョイ 7f20-teht)
2016/11/10(木) 22:02:45.75ID:INda+yqE0できるでしょうか?
static async Task ts()
{
List<Task> tsLists = new List<Task>();
var task1 = Task.Run(() =>{/*処理*/});
var task2 = Task.Run(() => {/*処理*/});
tsLists.Add(task1);
tsLists.Add(task2);
await Task.WhenAll(tsLists);
}
Task.WhenAllに配列を含めることができるのなら
taskもできるのではと思いまして
よろしくお願いします
0371デフォルトの名無しさん (ワッチョイ b77b-eMoa)
2016/11/10(木) 22:55:20.24ID:pEVMYV3p0当然、コンテナにも入れられる
0372デフォルトの名無しさん (ワッチョイ 4379-teht)
2016/11/10(木) 22:56:21.90ID:ApowNrKS00373デフォルトの名無しさん (ワッチョイ 7f20-teht)
2016/11/10(木) 23:58:51.41ID:INda+yqE0オブジェクトと聞いて、下のようなコードを書いたら
期待通りの結果が出ました
ありがとうございます
class Program
{
static async Task ts()
{
List<Task> tsLists = new List<Task>();
List<object> taskArry = new List<object>();
taskArry.Add(Task.Run(() => { Console.WriteLine("1"); }));
taskArry.Add(Task.Run(() => { Console.WriteLine("2"); }));
foreach (var tsk in taskArry)
{
var task = tsk;
tsLists.Add((Task)task);
}
await Task.WhenAll(tsLists);
}
static void Main(string[] args)
{
var t = ts();
t.Wait();
for (;;) ;
}
}
思いつきで書いているので、アンチパターンをしているかも知れませんが。。。
0374デフォルトの名無しさん (ワッチョイ 8394-5NgJ)
2016/11/11(金) 02:00:56.00ID:/+d8XFyb0(TaskふたつくらいならわざわざListは使わないけど)
しかし、>>373 は……どうしてこうなった
0375デフォルトの名無しさん (ササクッテロリ Sp2f-9MLS)
2016/11/11(金) 02:40:34.81ID:6sQwg64Zp全部public staticにして直接さわってもいいのでしょうか
0376デフォルトの名無しさん (ワッチョイ b37b-hNMU)
2016/11/11(金) 03:31:49.89ID:by5SD+CT0var hoge="hoge";
// パターン1
var firstChar=hoge.SubString(0,1);
switch(firstChar){
case "a":
switch(hoge){
case "akina": ・・・
case "akiko": ・・・
case "asaka":: ・・・
case "amika": ・・・他ずらっと続く
}
break;
case "h":
switch(hoge){
case "honoka": ・・・
case "hosaka": ・・・
case "hoge": ・・・他ずらっと続く
}
break;
}
// パターン2
switch(hoge){
case "akina": ・・・
case "akiko": ・・・
case "asaka":: ・・・
case "amika": ・・・
case "honoka": ・・・
case "hosaka": ・・・
case "hoge": ・・・
}
パターン1、2でどちらが目的の文字列にたどり着く速度が早いのでしょうか
0377デフォルトの名無しさん (ワッチョイ a70d-Cgco)
2016/11/11(金) 04:06:38.01ID:qvZdoaA90この記述に間違いはありますでしょうか?
0378デフォルトの名無しさん (ワッチョイ 937b-teht)
2016/11/11(金) 04:43:55.58ID:MLb8BpI60後者
0379デフォルトの名無しさん (ワッチョイ 3319-7KSV)
2016/11/11(金) 08:50:36.60ID:OnmZcNT90Path中の括弧は基本的に添付プロパティの指定に使うもんだけど
型明示とかの意味で使おうとしてない?
0380デフォルトの名無しさん (ワッチョイ b77b-eMoa)
2016/11/11(金) 10:27:04.66ID:M2uBl8fv0>List<Task> tsLists = new List<Task>();
>List<object> taskArry = new List<object>();
クラスの継承チェーンでは、Objectクラスがすべてのクラスの基本で、
Object以外のクラスは、すべてそこから派生している。
もちろん、Taskクラスも、Objectクラスの派生クラス
Objectクラスは親クラスで、より抽象的なもの。
Taskクラスは派生クラスで、Objectクラスより具体的で、限定されているため安全だから、
Taskをそのまま使えばいい
Taskクラスは、Objectクラスが持っている、属性・メソッドをすべて持っているから、
そのままObjectクラスとして使える。
(Task)task で、キャストする必要などない
オブジェクト指向を、基本から勉強すべし
0381デフォルトの名無しさん (ワッチョイ b77b-eMoa)
2016/11/11(金) 10:43:07.91ID:M2uBl8fv0漏れも、辞書データベースを作る際、
aで始まる単語の表・bで始まる単語の表・cで始まる単語の表、などのように表を分けるか、
すべてを1つの表にするかで迷う
パターン1の方が、先に限定(枝刈り)されるから、速いような気がするけど、
caseが8つ以上あると、コンパイラが最適化して、
文字列をハッシュ化(整数化)するかも知れないので、パターン2の方が速いかも
0382デフォルトの名無しさん (スッップ Sd1f-PwKp)
2016/11/11(金) 12:20:00.46ID:B0EI7WuJd実際Stringのハッシュにこれが使われてるかは知らんが
0383デフォルトの名無しさん (アウアウオー Saff-IeI3)
2016/11/11(金) 12:26:36.61ID:TqB+9XQ4a実験して報告してw
あと、Dictionary<String, Action>を使うケースも追加で
でもまあ、人が手動でコーティングできる程度の分岐では直感的には
後者の方が速そうな気がする。
0384デフォルトの名無しさん (ワッチョイ 4bda-teht)
2016/11/11(金) 12:31:45.60ID:UQPlBidt00385デフォルトの名無しさん (アウアウオー Saff-IeI3)
2016/11/11(金) 17:11:54.51ID:TqB+9XQ4aあと細かいことだけど、「分類」に使うのが常に最初の1文字だけなら
素直にcharにした方が(つまりhoge[0])の方が速い気が
0386デフォルトの名無しさん (ブーイモ MM1f-9MLS)
2016/11/11(金) 20:20:29.68ID:Bi+hCNL7M設定クラスとファイルは適度に分割する
staticは使わない
設定読み取りインターフェースとクラスを作る
設定に依存するクラスにインジェクションする
0387デフォルトの名無しさん (ワッチョイ 8fe1-PwKp)
2016/11/11(金) 22:27:34.93ID:+gNs9Nbk0多分後者は最適化でジャンプテーブルに変わるのでそっちのほうが早いかなぁ
0388デフォルトの名無しさん (ワッチョイ b3dc-PwKp)
2016/11/12(土) 00:58:23.88ID:e739leKk0本気で最適化するならプロファイル取って出現頻度順にソート
一般的にそういうのは分布がかなり偏るので統計的に速くなる
0389デフォルトの名無しさん (ワッチョイ 57ce-Cgco)
2016/11/12(土) 08:39:07.19ID:rgkWnGP70分量が不明ならDictionaryに変えるべき
自分でアルゴリズム実装する場合はC#ではunsafeにしない限り遅い
0390デフォルトの名無しさん (ブーイモ MM6f-9MLS)
2016/11/12(土) 08:56:42.02ID:NIqnWzQ8M0391デフォルトの名無しさん (ワッチョイ 57ce-Cgco)
2016/11/12(土) 09:36:17.93ID:rgkWnGP70そういうのって標準にないんだっけ
0392デフォルトの名無しさん (ワッチョイ a723-teht)
2016/11/12(土) 09:47:10.83ID:IKX2nQlp0C言語の文字列の扱いなら速度差もあるかもしれんね
0393デフォルトの名無しさん (ブーイモ MM6f-9MLS)
2016/11/12(土) 10:14:16.67ID:gzcT9VGJMInternというのがある
同じ値の文字列を同じインスタンスの文字列にして返す
0394デフォルトの名無しさん (ワッチョイ 9f02-u2pL)
2016/11/12(土) 15:14:10.12ID:Ayj+NND50それだとAxxxは早いけどYxxxは遅いとかいうことになると思うんだが
単純にどっちが早いかなんて比較できんわな
0395デフォルトの名無しさん (ワッチョイ 7f17-C1EH)
2016/11/12(土) 15:33:15.88ID:duqbQJlR0アプリにメインのフォームとモードレスなフォームの二つがあります
モードレスなフォームを操作したあとに
メインのフォームのボタンを押そうとすると
メインのフォームへフォーカスをあてるためにワンクリック、
ボタンを押すためにもう一回ワンクリックという具合に
2回クリックしないといけないのですが、
これをワンクリックに縮める方法はなにかありますか?
(一つのウィンドウにまとめる方法以外で)
0396デフォルトの名無しさん (ワッチョイ 033c-9MLS)
2016/11/12(土) 15:42:42.07ID:IIxQEFvy0>>394
switch はジャンプテーブルでの実装なので末尾のラベルであっても先頭のラベルと処理時間に差は出ない
また同じ理由から選択肢の数が増えても処理時間は殆ど増えない
0397デフォルトの名無しさん (ワッチョイ 7f13-ChQh)
2016/11/12(土) 15:47:36.63ID:kNoTIrA70おいおい,一度に全部を比較できないだろう?
Axxx は最初の方に比較するし
Yxxx は最後の方に比較するのだったら
Yxxx が確定するまでの時間は Axxx よりも大きくなるのでは?
ジャンプテーブルにしようが,個々の分岐によって時間差が出るのではないかね
0398デフォルトの名無しさん (ワッチョイ b75e-FQoa)
2016/11/12(土) 15:58:38.99ID:GAbwEXNG0メインのフォームのボタンにMouseEnterでthis.Activate()とFocus()するようにしたら
フォーカスをあてるための分は省略できる
0399デフォルトの名無しさん (ワッチョイ 6bed-eZXk)
2016/11/12(土) 16:17:42.31ID:VXYUWtaP0WM_MOUSEACTIVATEでググるといい
0400デフォルトの名無しさん (ワッチョイ 6f3c-PwKp)
2016/11/12(土) 16:30:32.34ID:HzMgTMM90ジャンプテーブル自体を知らないなら初心者スレだからまああるとは思うがジャンプテーブル知ってて
> Axxx は最初の方に比較するし
> Yxxx は最後の方に比較するのだったら
> Yxxx が確定するまでの時間は Axxx よりも大きくなるのでは?
はないわ
言葉だけ中途半端に覚えてる知ったかなんだろうな...
0401デフォルトの名無しさん (ワッチョイ 7f13-ChQh)
2016/11/12(土) 16:34:08.09ID:kNoTIrA70お前,物事を本当に突き詰めて考えたことが無いんだろう?
今回の文字列比較では差が出て当然
ジャンプテーブルといっておれば,とか間抜けにもほどがある
0402デフォルトの名無しさん (ワッチョイ c3a1-PwKp)
2016/11/12(土) 17:10:42.68ID:x4E8HTQB0低レベルな分僅かに高速に動くかも知らんが
0403デフォルトの名無しさん (ワッチョイ 7f17-C1EH)
2016/11/12(土) 17:11:17.70ID:duqbQJlR0toolStripに対して、>>398のMouseEnterでthis.Activate()とFocus()する方法でできました
WM_MOUSEACTIVATEをハンドルする方法もあるのですね。勉強になります
ありがとうございます
0404デフォルトの名無しさん (ワッチョイ 7f13-ChQh)
2016/11/12(土) 17:21:06.75ID:kNoTIrA70お前すべての文字列についてハッシュ値が異なるように設計できるとでもいうのか?
ハッシュ値をジャンプテーブルに使うとはそういうことだ,そんな無茶な主張をするのか?
0405デフォルトの名無しさん (ワッチョイ a7da-teht)
2016/11/12(土) 17:24:24.15ID:5Ttb/Uep00406デフォルトの名無しさん (ワッチョイ 6f3c-PwKp)
2016/11/12(土) 19:31:45.56ID:HzMgTMM90知ったか君は完全ハッシュも知らないのになんでそんな偉そうなのか理解に苦しむ w
0407デフォルトの名無しさん (ワッチョイ 8fe1-PwKp)
2016/11/12(土) 19:37:48.04ID:SdQQy6fO0http://qiita.com/NetSeed/items/fd5cd2cdb2ba021518ca
ハッシュが衝突するときだけ文字列比較に行くんじゃないかな
まぁ、hashdosでもされない限りボトルネックにはなりにくいんじゃない?
0408デフォルトの名無しさん (ワッチョイ 7f13-ChQh)
2016/11/12(土) 19:52:58.86ID:kNoTIrA70で,不特定な文字列に対して比較する場合に完全ハッシュを実現することはできるの?
>>407
ハッシュが衝突するかどうかは,文字列比較までやってしまわないと判明しないのでは?
0409デフォルトの名無しさん (ワッチョイ 8fe1-PwKp)
2016/11/12(土) 20:01:20.50ID:SdQQy6fO0聞く前に実装を確認したほうが早い
https://referencesource.microsoft.com/#mscorlib/system/collections/generic/dictionary.cs,bcd13bb775d408f1
0410デフォルトの名無しさん (ワッチョイ 7f13-ChQh)
2016/11/12(土) 20:11:38.18ID:kNoTIrA70なるほどね,不特定な文字列のみ対象とする連想配列ならば,まずはハッシュで付き合わせるのは「あり」なんだね
でも,特定文字列と不特定な文字列比較の case の実装について話しているのに,不特定な文字のみ対象の連想配列の例を出すのはどうかと思うよ
0411デフォルトの名無しさん (ワッチョイ 6f3c-PwKp)
2016/11/12(土) 20:31:54.23ID:HzMgTMM90> で,不特定な文字列に対して比較する場合に完全ハッシュを実現することはできるの?
コンパイル時に確定してるなら可能
完全ハッシュ アルゴリズム
とかでググれ
> ハッシュが衝突するかどうかは,文字列比較までやってしまわないと判明しないのでは?
ハッシュの衝突の意味がわかってないのか?
異なる入力に対して同一のハッシュ値が生成されることで当然コンパイル時にわかるから衝突するハッシュ値が生成された時だけ文字比較すればいいだけ
0412デフォルトの名無しさん (スフッ Sd1f-PwKp)
2016/11/12(土) 20:35:13.60ID:nrwwVciNdなんか違和感。
不特定の文字列の中に、特定の文字列は内包されるような気がする。概念的な話になるけど。
0413デフォルトの名無しさん (ワッチョイ 7f13-ChQh)
2016/11/12(土) 20:41:39.03ID:kNoTIrA70>コンパイル時に確定してるなら
というのは不特定の文字列とはいわないよ
何がくるか分からない文字列に対して完全ハッシュは無理
>>412
もう少しお話をおききしたいが
0414デフォルトの名無しさん (ワッチョイ 6f3c-PwKp)
2016/11/12(土) 20:54:31.74ID:HzMgTMM90ああ、入力側の話か
分岐した後に一度だけ確認すればいいだけ
確認すべき文字列は確定してるから
0415デフォルトの名無しさん (スフッ Sd1f-PwKp)
2016/11/12(土) 21:31:32.38ID:nrwwVciNdうーん、不特定な文字列に対して安全なら、それは特定の文字列に対しても安全では無いの?
パフォーマンスは置いといて。
この包丁は誰にとっても安全です、なら、この俺にとっても安全だろうし、>>413にとっても安全だと。
竹光でもさ。
ハッシュが衝突するならオープンアドレス法かなんかでシノニムうまく扱うしか無いけど。
現実問題、Knuthのあの関数でそうそう衝突はしないけど。
0416デフォルトの名無しさん (アウアウオー Saff-IeI3)
2016/11/12(土) 21:48:02.84ID:SCKfSUb2aこれ、せっかくVista以降改善された仕様を無にする行為だと思うんだけど
0417デフォルトの名無しさん (ワッチョイ 57ce-Cgco)
2016/11/12(土) 21:53:54.19ID:rgkWnGP70ところでわけわかめって通じる?
0418デフォルトの名無しさん (ワッチョイ 033c-Cgco)
2016/11/12(土) 21:56:33.32ID:tSXTeFta00419デフォルトの名無しさん (ワッチョイ 57ce-Cgco)
2016/11/12(土) 21:58:32.19ID:rgkWnGP7010でさらにわけわかめになってる
0420デフォルトの名無しさん (ワッチョイ 7f13-PwKp)
2016/11/12(土) 22:56:05.49ID:TM8SsXVk0「意味とろろ」まで付けないとだめ
0421デフォルトの名無しさん (ワッチョイ 377b-U3jc)
2016/11/13(日) 03:09:33.62ID:sNDrzqcx0あとでItemをクリックしたとき、FileInfoの別のプロパティも参照したいのでFileInfo
自体もListBoxに保存しておきたい。
1.ListBoxを継承したコントロールを作るのは手間がかかる。
2.ListBoxを継承したクラスを作って、Formにaddすることもできるが、これだと
位置とサイズを設定するのが面倒だ。
なにか良い方法はないか?
0422デフォルトの名無しさん (ワッチョイ 377b-U3jc)
2016/11/13(日) 03:28:05.31ID:sNDrzqcx00423デフォルトの名無しさん (ワッチョイ 377b-U3jc)
2016/11/13(日) 03:33:14.17ID:sNDrzqcx0二つ同時はむつかしいやろな。
0424デフォルトの名無しさん (ワッチョイ 377b-U3jc)
2016/11/13(日) 03:33:57.68ID:sNDrzqcx00425デフォルトの名無しさん (ブーイモ MM6f-9MLS)
2016/11/13(日) 11:41:32.61ID:l4pNS+tdM0426デフォルトの名無しさん (ワッチョイ d317-eZXk)
2016/11/13(日) 11:48:17.12ID:DlcyGqZP00427デフォルトの名無しさん (ワッチョイ 9f02-EqbM)
2016/11/13(日) 15:32:47.36ID:PMfnb6vA00428デフォルトの名無しさん (オッペケ Sr2f-PwKp)
2016/11/13(日) 15:35:53.81ID:LTz5BAc9r0429デフォルトの名無しさん (ワキゲー MMff-UXqH)
2016/11/13(日) 16:33:34.20ID:bY6b9EITMListViewは無理だけど
0430デフォルトの名無しさん (オッペケ Sr2f-PwKp)
2016/11/13(日) 16:37:40.46ID:uxmSSaQNr0431デフォルトの名無しさん (ワッチョイ 377b-U3jc)
2016/11/13(日) 17:48:03.25ID:sNDrzqcx0{
int count = 0;
foreach (T element in list){
// predicateが参照するメソッドを、elementを引数に渡し呼び出している
if(predicate(element)){
// 真ならカウンタをインクリメント
count++;
}
}
return count;
}
CountList<T> これはT型の変数を返すという意味なのにリターンはstatic int
なのはなぜ?
0432デフォルトの名無しさん (ワッチョイ 377b-U3jc)
2016/11/13(日) 17:53:19.93ID:sNDrzqcx0これの間違いか?
0433デフォルトの名無しさん (ワッチョイ 377b-U3jc)
2016/11/13(日) 17:56:52.79ID:sNDrzqcx0UIをプログラムはできなくても絵の得意な人がやってモデルをプログラマーが専念
できるということかな。
0434デフォルトの名無しさん (ワッチョイ 033c-Cgco)
2016/11/13(日) 18:01:22.99ID:r+Z8oKZ700435デフォルトの名無しさん (ワッチョイ b3dc-PwKp)
2016/11/13(日) 18:05:48.45ID:T5+9PjbV0現実的にはデザイナーがBlendでXAML作るなんて不可能だけどね
デザイナーに期待できるITスキルは唯一HTML/CSSだけだよ
0436デフォルトの名無しさん (ワッチョイ 377b-U3jc)
2016/11/13(日) 18:07:10.18ID:sNDrzqcx0static String ToResult<TSource>(this IEnumerable<TSource> source)
{
return "{" + string.Join(", ", source) + "}";
}
static String ToResult<TKey, TSource>(this IEnumerable<IGrouping<TKey, TSource>> source)
{
return source.Select(group => string.Format("Key={0}, Source={1}", group.Key, group.ToResult())).ToResult();
}
0437デフォルトの名無しさん (ワッチョイ b7ba-teht)
2016/11/13(日) 18:12:30.43ID:pC0Itdjh00438デフォルトの名無しさん (オッペケ Sr2f-PwKp)
2016/11/13(日) 18:30:15.49ID:uxmSSaQNrそーなのか
ずっとWinFormしか触ってないんだけど、WinFormのコントロールと同じような動作をWPFに求めてもそういうのは用意されてないの?
たとえばWinFormのDataGridViewには自動的に絡む幅とか調整してくれるメソッドとかあるけどWPFには用意されてないとか?
>>434
逆もある?
0439デフォルトの名無しさん (アウアウイー Sa0f-PwKp)
2016/11/13(日) 18:45:13.54ID:lfE9hohca割と良いXAML来るけどな。うち。
0440デフォルトの名無しさん (スププ Sd1f-PwKp)
2016/11/13(日) 19:32:10.60ID:BXznGnDQdその逆もあるよね
0441デフォルトの名無しさん (ワッチョイ a723-teht)
2016/11/13(日) 20:47:49.40ID:lO2MkZMm0xamlは覚えるまでに苦労するけど、覚えちまったらFormsより遥かに素早く簡単に出来るんだけどな
0442デフォルトの名無しさん (ワッチョイ b33a-teht)
2016/11/13(日) 21:29:38.43ID:fclqIQTb0> CountList<T> これはT型の変数を返すという意味なのに
その T は型引数に T を取るという意味
0443デフォルトの名無しさん (ワッチョイ a70d-Cgco)
2016/11/13(日) 22:11:24.34ID:e/ThXpat0ElementNameでは同じViewに記述していないと駄目?みたいで困っています
RelativeSourceを使えば良いのでしょうか?でも記述方法がわかりません・・・。よろしくお願いします
Menu.xaml
<MenuItem Header="Test1表示" IsCheckable="True" IsChecked="{Binding IsVisible, ElementName=Test1}" /> ←ボタンを押したら
Test.xaml
<Grid x:Name="Test1"> ←これにあるIsVisibleが切り替わるようにしたい
0444デフォルトの名無しさん (ワッチョイ 4b49-VsRF)
2016/11/14(月) 00:31:18.15ID:HFnn5wUH0Formの方がやりやすいGUIってどんなの?
0445デフォルトの名無しさん (ワッチョイ 57ce-Cgco)
2016/11/14(月) 01:58:30.32ID:ktK+BwK200446デフォルトの名無しさん (ワッチョイ 9fa6-teht)
2016/11/14(月) 02:01:05.98ID:dUUXzUko00447デフォルトの名無しさん (ワッチョイ 377b-U3jc)
2016/11/14(月) 03:26:59.64ID:OCTkBwGI0T temp;
temp = lhs; lhs = rhs; rhs = temp;
}
呼び出しは
Swap<int>(ref a, ref b);
省略して
Swap(ref a, ref b);
これはダメか? これでもいいよな。
Swap( a, b);
0448376 (ワッチョイ b37b-hNMU)
2016/11/14(月) 04:35:40.38ID:v43jjczV0http://ideone.com/JtZ5ui
間違った評価していないか確認して頂きたく。
各テストを1000万回ずつ回した結果は
TestPattern1
test1 elapsed:198msec hitCounter:10000000
test2 elapsed:197msec hitCounter:10000000
test3 elapsed:196msec hitCounter:10000000
TestPattern2
test1 elapsed:192msec hitCounter:10000000
test2 elapsed:183msec hitCounter:10000000
test3 elapsed:183msec hitCounter:10000000
TestPattern3
test1 elapsed:192msec hitCounter:10000000
test2 elapsed:191msec hitCounter:10000000
test3 elapsed:186msec hitCounter:10000000
TestPattern4
test1 elapsed:261msec hitCounter:10000000
test2 elapsed:261msec hitCounter:10000000
test3 elapsed:261msec hitCounter:10000000
firstCharで絞っても大した差は無し。
Dictionary<string,Action>は遅い。
でした。
core i7 6700k Releaseビルド
Debugビルドにするとめちゃ遅い
0449デフォルトの名無しさん (ワッチョイ ef9f-WrRy)
2016/11/14(月) 05:52:45.45ID:/TJLzgQW00450デフォルトの名無しさん (ワッチョイ 4bc0-WVKM)
2016/11/14(月) 12:20:13.87ID:SBSYakm50考えるだけ無駄だわな
0451デフォルトの名無しさん (アウアウオー Saff-IeI3)
2016/11/14(月) 12:27:16.06ID:QoZcYnGka繰り返し回数よりcaseの数の方が肝だと思うけど
0452デフォルトの名無しさん (ワッチョイ 6f7d-teht)
2016/11/14(月) 13:04:48.53ID:BB8aMjT800453デフォルトの名無しさん (ワッチョイ b39f-cYps)
2016/11/14(月) 15:03:27.08ID:+U0ySF0b0文字列のswitchがDictionary<string, int>→switch(int)みたいなILになってるので
test4がわずかに速いな
TestPattern2もstringCaseTestPattern1呼んでるぞ
0454デフォルトの名無しさん (ワッチョイ 5387-MJQ8)
2016/11/14(月) 17:41:26.21ID:Qgf5Rn5/0次のようなことをやりたいのですが、そもそも可能でしょうか。
メインフォームで時間のかかるループ処理をやっていて、
その進行状況を別フォームを表示して、
別フォーム上に配置したプログレスバーで表示したいと思っています。
以前、ループ処理自体を別フォームで行っいプログレスバー表示はさせたことはありますが、
今回は、ループ処理はメインフォームで行いたいと考えていますが、
そもそも可能なのでしょうか。
0455デフォルトの名無しさん (オッペケ Sr2f-WFrU)
2016/11/14(月) 19:12:23.97ID:xSfNgSMsr今なら、async, await 一択。
0456デフォルトの名無しさん (ワッチョイ 6f7d-teht)
2016/11/14(月) 19:32:29.47ID:42tRiMkK0public static readonly Action 〜 で Actionのenumっぽいクラス作ると速い
0457デフォルトの名無しさん (ドコグロ MM5f-wOPQ)
2016/11/14(月) 19:51:26.73ID:kXxSR+DwMできるけどはたから見たらなんでそんな構成なの?
って感じ
0458デフォルトの名無しさん (ワッチョイ 5387-MJQ8)
2016/11/14(月) 20:15:42.84ID:Qgf5Rn5/0ありがとうございます。
async使った作り方を検討してみます。
>>457
本当はプログレスバーを表示しているフォームでループ処理を実行できればいいのですが、
引数が大量になったりしてしまうので、メインフォームで処理を行いたいのです。
プログレスバーを別フォームにするのは、まあ、見栄えの問題ですね。
0459デフォルトの名無しさん (スップ Sd1f-wOPQ)
2016/11/14(月) 21:22:47.48ID:xjbQt/rmdなぜ今どき4.5.1?
0460デフォルトの名無しさん (スププ Sd1f-PwKp)
2016/11/14(月) 21:33:34.62ID:gWk7pXe+dしょうもないことにつっかかるね
0461デフォルトの名無しさん (ワッチョイ b3dc-dJcJ)
2016/11/14(月) 21:35:10.48ID:aL/Lu1lD0わざわざターゲットバージョンを上げて動作環境を狭める意味はほぼ無いだろ
0462デフォルトの名無しさん (ワッチョイ 6f3c-wOPQ)
2016/11/14(月) 21:46:05.31ID:NhhLZ04e0別にやりたいようにやればいいんだが
> 引数が大量になったりしてしまうので
って言う理由はちょっとどうかと思う...
0463デフォルトの名無しさん (ワッチョイ 57cb-wOPQ)
2016/11/14(月) 22:34:09.85ID:3a+GOjdi0いやあああああああああああ!
2.0ででちゃううううううう!
2.0
のままリリースしちゃうのぉおおおおおお!
恥ずかしいいいいいいい!
0464デフォルトの名無しさん (ワッチョイ 033c-wOPQ)
2016/11/14(月) 23:53:59.37ID:OlP0vwcQ0サポート切れのバージョンをなんでわざわざ使ってんのかって突っ込みだろカス
0465デフォルトの名無しさん (ワッチョイ 57cb-wOPQ)
2016/11/15(火) 00:09:10.73ID:vnzlS/G+0だってバージョン上げたら
テストし直しじゃんよ
そんな金ないだろっていうか
客が金出さねぇって言ってる以上動けないだろ
って人多いと思うぜ
共存できない.netのバージョンの製品が同梱されてるときとか最新で組んでドヤ顔しててもうまく行くんだろか?
それとも全部最新の.netでコンパイルし直すんだろか?
0466デフォルトの名無しさん (ワッチョイ 57cb-wOPQ)
2016/11/15(火) 00:11:49.01ID:vnzlS/G+0職場の人間も似たような感じだったので
結局よくわからず下位バージョンに合わせて出しちゃったぜ
0467デフォルトの名無しさん (ブーイモ MM1f-9MLS)
2016/11/15(火) 01:15:16.80ID:R9/5GWGeM仮に起こっても数個のコンポーネントを少し弄る程度で解決できる
無論アプリの作りがマトモならって前提だけどな
0468デフォルトの名無しさん (ワッチョイ 033c-wOPQ)
2016/11/15(火) 01:16:44.44ID:MJdWHDsF0再コンパイルする必要はないって、アホの>>461ですら言ってるじゃねーか
0469デフォルトの名無しさん (スップ Sd1f-wOPQ)
2016/11/15(火) 01:18:25.54ID:5VfxrfmvdC#6の中点くらいかな、まああれはUnicodeのせいだけど
0470デフォルトの名無しさん (スフッ Sd1f-wOPQ)
2016/11/15(火) 02:29:36.45ID:7Oesxf9udそれを「起こってない」と検証する金の出処の話じゃないの?
よく分かるけど。
起こってないのと、めったに起こらないし多分大丈夫、は違う。
鍵は全部締まってるの確認したよ、と、鍵締めたかどうか定かじゃないけどこの辺は治安いいから大丈夫、は全然違う。
0471デフォルトの名無しさん (ワッチョイ a70d-Cgco)
2016/11/15(火) 02:53:21.41ID:NoTRkZnD0調べてみるとResource.resxを使ったりxamlのResourceDictionaryを使ったりと色々あって困惑しています。
どのようなやり方が最適解なのでしょうか?
0472デフォルトの名無しさん (ワッチョイ 033c-wOPQ)
2016/11/15(火) 05:52:35.99ID:MJdWHDsF0サポート切れのバージョンを使い続けることによるリスクより、4.5.1から4.5.2へのインプレース更新の方がはるかに安全だろ
0473デフォルトの名無しさん (ワッチョイ 033c-wOPQ)
2016/11/15(火) 05:53:50.91ID:MJdWHDsF0デフォルトのロケールは?
0474デフォルトの名無しさん (ワッチョイ 377b-EKpQ)
2016/11/15(火) 08:10:51.58ID:7W+Eb75M0{
FileInfo _ff;
string _dispdata;
public FI(FileInfo fi)
{
FI(fi, false); //★error になる。なんとかならないのか?
}
public FI(FileInfo fi, bool mode)
{
_ff = fi;
if(mode)
_dispdata = string .Format ("{0,20}:{1,-35} {2,-100}", _ff.CreationTime, _ff.Name, _ff.DirectoryName );
else
_dispdata = string .Format ("{0,20}:{1,-35}", _ff.CreationTime, _ff.Name);
}
public FileInfo finfo{ //★FileInfoという名前にしたいのにできない。何とかならないか?
get { return _ff; }
}
}
}
★をみて感想をください。
0475デフォルトの名無しさん (スフッ Sd1f-wOPQ)
2016/11/15(火) 08:37:11.25ID:7Oesxf9udサポート切れも何も。。
リスクとコストを天秤にかけるのは必要なことだろ。
はるかに、とか美味しい言葉で修飾せんと。
その程度の意識でみんなバージョン上げてんだなって思うな。
0476デフォルトの名無しさん (ワッチョイ 377b-EKpQ)
2016/11/15(火) 08:51:04.93ID:7W+Eb75M00477デフォルトの名無しさん (スッップ Sd1f-wOPQ)
2016/11/15(火) 12:05:01.57ID:Sy8HLWAKdお前サポート切れの.NET保証できんの?すげえな尊敬するわ
0478デフォルトの名無しさん (スフッ Sd1f-wOPQ)
2016/11/15(火) 12:14:17.64ID:7Oesxf9ud保証をどう定義するかでしょ。
このシステムは動きます、の保証はするよ。
0479デフォルトの名無しさん (ワッチョイ 4bc0-WVKM)
2016/11/15(火) 12:24:10.02ID:pMl4CMoG00480デフォルトの名無しさん (アウアウオー Saff-IeI3)
2016/11/15(火) 12:32:14.65ID:CGrdF/iraって程度の意味だからさあ...
ビジネストーク的には意味があると思うけど実質的な意味はあんまりないと思うけどね個人的には
0481デフォルトの名無しさん (スッップ Sd1f-wOPQ)
2016/11/15(火) 12:38:22.77ID:Sy8HLWAKd脆弱性が見つかった時は?
0482デフォルトの名無しさん (スププ Sd1f-wOPQ)
2016/11/15(火) 12:55:55.09ID:Z3/Q/mWPd0483デフォルトの名無しさん (ササクッテロレ Sp2f-9MLS)
2016/11/15(火) 13:15:07.06ID:mY0gDrgyp保守で定期的に金取ってるなら契約次第
そうでないなら「フレームワーク更新作業するなら発注してね」でいいだろ
0484デフォルトの名無しさん (スフッ Sd1f-wOPQ)
2016/11/15(火) 14:20:03.90ID:7Oesxf9udその脆弱性がシステムにとって致命的かどうか、
システム全体の検証工数と回避修正+波及箇所検証工数でどちらが勝つか(大体はラッパー作って使ってるから、その修正と波及箇所の動作検証で済む)
客が金どれだけ持ってるか、
の折り合いついた所だと思うよ。
0485デフォルトの名無しさん (ワッチョイ 6f7d-teht)
2016/11/15(火) 14:37:14.63ID:0U4qoaFD00486デフォルトの名無しさん (スプッッ Sd1f-wOPQ)
2016/11/15(火) 15:43:51.26ID:ODQ0lCKgd誰も最新の話なんてしてないよ
0487デフォルトの名無しさん (スプッッ Sd1f-wOPQ)
2016/11/15(火) 15:44:52.48ID:ODQ0lCKgdつまり、脆弱性が見つかってから検証を始めるってことね
0488デフォルトの名無しさん (スフッ Sd1f-wOPQ)
2016/11/15(火) 17:05:58.01ID:7Oesxf9udいや、改修したり、OSやミドルやライブラリやフレームワークを更新したら、その検証をするけど、
脆弱性が発見された箇所自体はKBやらで出た内容からソース中の出現箇所出して、依存ツリー出して把握するくらいだよ、その時点では。
0489デフォルトの名無しさん (ワッチョイ 339a-zoBz)
2016/11/15(火) 17:08:40.62ID:/cCbWJxV0呼び出して使えないかと思っています。
DLLの関数(1フレーム分進めるなど)を呼び出すことはできると思いますが、
その際にDLL内の特定の関数(ポートへの出力、画面更新など)が実行されたとき、
C#アプリ側でイベントとして捕捉する(C#側の関数が実行される)ようなことは
できるんでしょうか。
0490デフォルトの名無しさん (ワッチョイ 8fe1-PwKp)
2016/11/15(火) 17:22:31.09ID:PhOBmSZe0コールバックとかを使えば多分行ける
うまく行かないことがあればC++/CLIの出番かな
0491デフォルトの名無しさん (ワッチョイ 3319-7KSV)
2016/11/15(火) 17:24:00.58ID:weebeOlr0DLL側はコールバック登録関数を公開して必要なときに登録されてるコールバックを呼び出す
って形は取れるけど。
0492デフォルトの名無しさん (JP 0H6f-2n2A)
2016/11/15(火) 17:46:08.44ID:4QSE1fRAH0493デフォルトの名無しさん (ワッチョイ a70d-Cgco)
2016/11/15(火) 17:50:32.92ID:NoTRkZnD0日本語です
0494デフォルトの名無しさん (ワッチョイ 4b49-VsRF)
2016/11/15(火) 22:28:52.68ID:YqUWOmsB0Resource.resxを使うかResourceDictionaryを使うかは好み。
Resource.resxはGUIで設定できる。ロードする部分はシステムのロケール依存で良ければ自動。サテライトアセンブリが生成される
ResourceDictionaryはxamlを自分で記述する。ロードする部分も自分で作成。サテライトアセンブリが生成されない
個人的にはResource.resxの方が好きかな。
で、動的に切り替えって、起動時に切り替えるだけじゃ足りない?
任意のタイミングで既存のGUIもぱっと切り替えるのが必要だとすると、上記だけじゃ駄目で、
ラッパー的なクラスを作成して、それに対してバインディングするようにする必要がある。
0495デフォルトの名無しさん (ワッチョイ a70d-Cgco)
2016/11/15(火) 23:15:19.81ID:NoTRkZnD0どちらとも動的に切り替えるところまでは作りました
どっちにするかまだ迷っています
どちらが世界的に主流でしょうか?
0496デフォルトの名無しさん (ワッチョイ b3dc-PwKp)
2016/11/15(火) 23:23:38.02ID:r0bdrrlQ0WPF自体が主流には程遠いから好きにしろとしか
0497デフォルトの名無しさん (ワッチョイ 3703-M1Ou)
2016/11/16(水) 14:46:22.40ID:oJqix3AL0データは「実験項目」、「測定値」でファイルから読み出します。
一つの「実験項目」に対して任意数の「測定値」があり、任意数の「実験項目」があります。
ファイルを読み出さないとそれぞれの要素数がわからないため動的配列を使いたいと思っています。
「実験項目」、「測定値」共に1,000以内程度の予想です。
ArrayListは扱えていると思っているのですが2次元にする方法がよくわかりません。
ご教示いただけないでしょうか。よろしくお願いします。
0498デフォルトの名無しさん (アウアウオー Saff-IeI3)
2016/11/16(水) 15:20:15.99ID:Nmwy7smwaArrayListは10年以上前に役割を終えた旧式だからもう使っちゃだめ
代わりにList<T>でも使って
List<T>も2次元にはできないが、そもそも2次元にする必要がない
- TestItem(実験項目)にMeasured(測定値)のリストList<Measured>を持たせて、
- TestItemのリストList<TestItem>を作る
これでOKでしょ
知らんけど
0499デフォルトの名無しさん (ササクッテロレ Sp2f-9MLS)
2016/11/16(水) 15:31:15.35ID:E4kD/LBwpTestItem(実験項目)にMeasured(測定値)のリストを持たせたくない場合はDictionary<TestItem,List<Measured>>とか
0500デフォルトの名無しさん (ワッチョイ 3703-M1Ou)
2016/11/16(水) 16:11:42.19ID:oJqix3AL0ご教示ありがとうございます。
やはりArrayListは非推奨なのですね。
List、Dictionaryを勉強してみます。
0501デフォルトの名無しさん (オッペケ Sr2f-WFrU)
2016/11/16(水) 20:05:48.43ID:qGX/+c5Jr0502デフォルトの名無しさん (ブーイモ MMef-9MLS)
2016/11/16(水) 20:19:51.08ID:gtmrvLDzM回帰テスト嫌だからコピペして新規追加しろ
日本はそういう文化だから理解しがたいレガシーコードで溢れかえる
0503デフォルトの名無しさん (ワッチョイ 4bc0-WVKM)
2016/11/16(水) 20:38:27.57ID:MMds4sI/0キーワードでググったら上位にくるんじゃね
あの手の骨董品コードが残り続けるのは本当害悪でしか無いわ
0504デフォルトの名無しさん (ワッチョイ d3d6-teht)
2016/11/16(水) 20:49:59.04ID:Ws6HNRv600505デフォルトの名無しさん (ワッチョイ 273c-WVKM)
2016/11/16(水) 20:57:40.76ID:MeLHc+gy0先日測定機のプログラムを作りました。
データ取得の処理中に進捗状況を表示させたくなりました。
フリーズしてるのと勘違いされないようにしたいわけです。
少し調べてみたら、どうやらマルチスレッドなるもの
使うようなんですが、これについて優しく書かれている
サイトなどあればお教えいただければうれしいです。
よろしくおねがいします。
0506デフォルトの名無しさん (ワッチョイ b3dc-PwKp)
2016/11/16(水) 21:08:39.93ID:1s2sSz8X0自分でThreadやTaskを明示的に作って使う必要があるケースは少ない
再現困難なバグを引き起こしやすいから、マルチスレッドを明示的に使うのは非同期プログラミングに慣れないうちはなるべく避けた方がいい
シリアルか独自のSDKがあるのか知らないけど、何かの外部装置からデータ取ってるなら非同期で取るAPIは用意されてるだろ?
もし同期APIしか用意されてない糞SDKなら仕方ないが、そうでない限りは用意された非同期APIを使うことを優先したらいい
データをどうやって取ってるのかをお前が晒せばもっと具体的なアドバイスもできる
0507デフォルトの名無しさん (ワッチョイ 37dc-WVKM)
2016/11/16(水) 21:10:52.22ID:QT5715if0時間のかかる処理をバックグラウンドで実行するには?[2.0のみ、C#、VB] − @IT
http://www.atmarkit.co.jp/fdotnet/dotnettips/436bgworker/bgworker.html
.NET開発における非同期処理の基礎と歴史 − @IT
http://www.atmarkit.co.jp/fdotnet/chushin/masterasync_01/masterasync_01_01.html
0508デフォルトの名無しさん (ワッチョイ cb94-5NgJ)
2016/11/16(水) 22:04:51.69ID:PcfUB0DB0下のは歴史から説きおこしてるから最初から読むと長すぎる
async awaitについて書いてあるここ↓くらいから読むのがいいかと
http://www.atmarkit.co.jp/fdotnet/chushin/masterasync_02/masterasync_02_01.html
非同期API使うにしても、async await がわかってないと辛いだろうし
0509デフォルトの名無しさん (アウアウオー Saff-IeI3)
2016/11/16(水) 22:20:31.36ID:5Ihw572qa0510デフォルトの名無しさん (ワッチョイ b3dc-PwKp)
2016/11/16(水) 23:41:29.23ID:1s2sSz8X0awaitみたいな黒魔獣と違って仕組みが単純明快だし、使う側からすれば完全にシングルスレッドで非同期ができる
排他処理だのデッドロックだのいきなりマルチスレッド特有の問題を抱え込むより、
まずは純粋に非同期プログラミングのところだけを抽出して順番に理解していけばいいと思うよ
0511デフォルトの名無しさん (ワッチョイ 2376-NcFo)
2016/11/16(水) 23:57:52.40ID:cEthX6dM0http://www.atmarkit.co.jp/ait/articles/0506/17/news111.html
まずは目的達成を
0512デフォルトの名無しさん (ワッチョイ 9c7b-XpIe)
2016/11/17(木) 00:43:08.63ID:KQ/jS2NF0P1(10,10) P2(10,40) P3(40,10) P4(40,40)
このような4点のベジエがあったとして、この放物線のP4の延長線を書きたい場合、
どのようにすればいいのでしょうか?
0513デフォルトの名無しさん (ワッチョイ 3f49-YqEk)
2016/11/17(木) 00:56:22.10ID:ViKAooID00514デフォルトの名無しさん (アウアウオー Sa36-MfQN)
2016/11/17(木) 01:43:36.99ID:ypT0aoV/aよく知らんけど、終了点の延長戦の方向は制御点から終了点向かう
ベクトルに等しいはずだから、後は簡単な高校数学じゃないの?
0515デフォルトの名無しさん (ワッチョイ 3faf-N7ik)
2016/11/17(木) 02:39:29.89ID:Dxu6gLWd0非同期処理とかで検索すると普通にasync awaitが見つかるけどプログレスバーとかで検索すると未だにBackgroundWorkerを使うとか書いてるから困る
0516デフォルトの名無しさん (ワッチョイ 9c7b-XpIe)
2016/11/17(木) 03:14:03.30ID:KQ/jS2NF0自分の説明が下手でも仕分けないのですが、
要するに2次曲線をベジエ曲線を使って描画し、
曲線の終点の延長を追記で描画したいということなのですが
0517デフォルトの名無しさん (ワッチョイ b5dc-2XGH)
2016/11/17(木) 07:07:26.21ID:iGNJFpBr0端点とそこでの一次の傾きさえ一致してれば滑らかに繋がってるように見える。で、それは514で答えが出てる。
二次の傾きには任意性があって、どう決めたら最も美しいかはあくまでお前の感性の問題だ。
その感性を数学的に定義するのはお前の仕事。それができたら答えは出たようなもんだろ。
0518デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 07:33:08.85ID:B+vLCAoF0俺もそれ興味あるな。でもペジェー曲線を描く関数は簡単にわかるだろ。
それをプログラム的にどう実現するかが知りたいってことだよね。
バーンスタイン基底関数のブレンディング関数ではN点の式になってるが、実際には
n点でかいたベジェにn+1点を書く場合全部書き直すのは不経済だよな。
bz = new Bezier(p1,p2);
bz = bz.add(p3);
bz = bz.add(p4);
bz = bz.add(p5);
bz = bz.add(p6);
foreach pp in bz{
bz.pset(whiteColor, pp.xl,pp.yl);//前のポイントを消す
bz.pset(RedColor, pp.x,pp.y);//今回を書く
}
こんな感じじゃないか?
グラフィックはやったことないから知らんけど。わからんな前のラインを消すのが
難しいな。
0519デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 07:37:55.62ID:B+vLCAoF0やはり、前のラインを記憶していて、背景色で上書きして消すのだと思うよ。
0520デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 07:46:11.48ID:B+vLCAoF0bz = bz.add(p3);
bz = bz.add(p4);
bz = bz.add(p5);
bz = bz.add(p6);
bz.write(red, Style1);
これでいいや、制御点はaddするときにわかってるからね。
書くときにベクトルは全部記憶してるからwriteするときに消して書けばいい。
しかし、背景色が違うところをまたがるときはどうすんの? って問題があるな。
0521デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 08:20:53.64ID:B+vLCAoF0ツールはなに? DirectXとか? どういう環境でかこうとしているんかで
かなり違うと思う。
DirectXだったら関数についてるんじゃない? 環境が正確にわかればサンプルを
書いてあげるよ。もしわからなければ、、、
0522デフォルトの名無しさん (ワッチョイ 9fcf-RAPI)
2016/11/17(木) 08:43:40.73ID:UCWuOxD400523デフォルトの名無しさん (スププ Sdb8-RUi6)
2016/11/17(木) 09:34:37.15ID:Nr9kHWsUd0524デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 11:04:15.91ID:B+vLCAoF0だめ。
psetなら隣の色を拾って背景代わりにするとできるが、、、lineだと背景の色を
覚えておかないとできないね。特に切り替わりのあるところ毎に背景を記憶して
覚えておかないとできないね。
BackColorXorline()なんて関数があって背景は別レイヤで記憶していてくれれば
できるけど。そんなのがあるんだろうな。きっと。
グラフィックコントローラの機能として何枚かのレイヤがあるんだろうね。でないと
移動するごとに大量のベクトルの書き直しとか間抜けすぎるものね。
だからレイヤーを指定して書き込みできるんじゃなかろうか?
0525デフォルトの名無しさん (オッペケ Sra9-2XGH)
2016/11/17(木) 13:02:06.96ID:lS45HIXqrメリットは少なめなメモリで動くってだけかな?
Rxとかは便利そうって思えるけど
0526デフォルトの名無しさん (アウアウカー Sa41-2XGH)
2016/11/17(木) 13:11:56.85ID:3nQkkv32a当然順番は変わらないし
更に言うとLINQの最大の利点て可読性の向上だと思ってたんだが…
0527デフォルトの名無しさん (ワッチョイ 9f94-Ctj4)
2016/11/17(木) 13:34:27.15ID:JueYqnTL0(AsOrderd()を使えば順番を維持させることもできるけど)
LINQで可読性が下がるというのは、もしかして、ラムダ式に慣れてないだけでは…
0528デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 13:45:17.61ID:B+vLCAoF0遅延って意味がおかしいんじゃない。クエリを書いただけでは実行しないってこと
を遅延っていってるんだろうか? そんなの当たり前のように思えるが、、、
0529デフォルトの名無しさん (ワッチョイ 40d9-k96Z)
2016/11/17(木) 14:11:29.10ID:DsCEIrdz0この本は嫌というほど詳細にLINQが解説してあるから
0530デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 14:40:02.46ID:B+vLCAoF0そうだね。それ読んでみる。
0531デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 14:40:19.41ID:B+vLCAoF0var user = new MembershipUser("?????", "1", "obj", "3","4", "5",
true, true, dtm, dtm, dtm, dtm, dtm);
MembershipUserをテストしようとしてるんだが"?????"は何をいれたらいいの?
無効なプロバイダーでエラーになる。
0532デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 14:41:28.03ID:B+vLCAoF0追加情報:指定されたメンバーシップ プロバイダー名が無効です。
こんなメッセージ
0533デフォルトの名無しさん (ワッチョイ 774f-oPeX)
2016/11/17(木) 14:41:41.50ID:sJEahq+u00534デフォルトの名無しさん (JP 0H0d-2BAc)
2016/11/17(木) 14:41:59.02ID:9sPAmX71H副作用がなければ気にならんけど
0535デフォルトの名無しさん (ワッチョイ 40d9-k96Z)
2016/11/17(木) 14:49:43.65ID:DsCEIrdz0まあね
この人はちょっとパラノイアじみるほどマニアックなところがあるけど、
全部読破すれば間違いなくLINQ to Objectsの力が付くと思う
「こんな使い方普通しないだろw」みたいなのも書いてある
0536デフォルトの名無しさん (ワッチョイ 9fcf-RAPI)
2016/11/17(木) 15:17:23.72ID:UCWuOxD40開発環境はvisualstdioです
nugetで公開されているneolua moonsharp等のluaの拡張パッケージになにか違いがあるのでしょうか?
0537497 (ワッチョイ 7c03-EDxK)
2016/11/17(木) 17:31:32.94ID:K3Fbeu8d0せっかくレスいただいたのですが↓が理解できませんでした。申し訳ありません。
> - TestItem(実験項目)にMeasured(測定値)のリストList<Measured>を持たせて、
> - TestItemのリストList<TestItem>を作る
List<double> lsMeasTest = new List<double>();
でListを生成して
lsMeasTest.Add(dblData);
で測定値を格納していくのはわかります。
実験項目が増えたときにListを生成するのですが
List<double> 変数名 = new List<double>();
を必要数分実行する方法がわからないのです。
0538デフォルトの名無しさん (ワッチョイ 9f94-Ctj4)
2016/11/17(木) 17:59:43.84ID:JueYqnTL0測定値を入れたList<double>を作ったら、項目リストにAddしていく
ではだめなの
0539デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 18:09:46.70ID:B+vLCAoF0これでどう?
var dict = new Dictionary<string, double>();
dict.Add("test1", 32.5);
dict.Add("test2", 3002.5);
dict.Add("test3", 199932.5);
0540デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/17(木) 18:15:42.30ID:B+vLCAoF0dict0.Add("test1", 32.5);
dict0.Add("test2", 3002.5);
dict0.Add("test3", 199932.5);
var dict1 = new Dictionary<string, double>();
dict1.Add("btest1", 32.5);
dict1.Add("btest2", 3002.5);
dict1.Add("btest3", 199932.5);
var Jkken = new Dictionary<string, Dictionary<string,double >>();
Jkken.Add("実験項目1", dict0);
Jkken.Add("実験項目2", dict1);
こうかな?
0541デフォルトの名無しさん (アウアウオー Sa36-MfQN)
2016/11/17(木) 18:25:00.31ID:hkg3+6Yaa大サービスでサンプル書いてみた
http://ideone.com/WjLe3C
0542デフォルトの名無しさん (ワッチョイ 21bd-2Ppy)
2016/11/17(木) 18:51:38.13ID:mx0eMjxm0どうしても必要なの?
実際に不正アクセスが起たりするもんなの?
何のために、何を防御しているのか理解できない。
0543デフォルトの名無しさん (ワッチョイ b179-XpIe)
2016/11/17(木) 18:53:40.36ID:VcCKxuk30staticは別
0544デフォルトの名無しさん (ワッチョイ 9cba-XpIe)
2016/11/17(木) 19:06:49.94ID:uPELr+Dd0https://mspoweruser.com/google-joins-net-foundation/
0545デフォルトの名無しさん (JP 0H0d-2BAc)
2016/11/17(木) 19:49:50.72ID:9sPAmX71H0546デフォルトの名無しさん (ワッチョイ b5dc-2XGH)
2016/11/17(木) 20:22:33.07ID:iGNJFpBr0余計な情報を外に漏らすと、それを今後もそうだと期待して依存する奴が出てくる
で、お前が後で変えたら何で勝手に変えたんやワシのコードが動かへんようになったわシバクぞボケと言われることになる
日常生活でも「言ってしまったから今更変えづらい」ってあるだろ?
確かに約束できること以外には外に余計な情報を漏らさないようにすることで、
中身を弄っても何勝手に変えとんねんと言われない変更に強いプログラ厶になるんだよ
0547デフォルトの名無しさん (オッペケ Sra9-2XGH)
2016/11/17(木) 21:12:47.62ID:lS45HIXqr>C#が提供するLINQ to Objectsは、多大な効能と価値を併せ持つ重要な考え方ですが、Cのポインタ同様に抽象的でわかりりにくいものです。
ってその本の解説に書いてるよ
やっぱわかりにくいんだね
0548デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/17(木) 23:20:42.92ID:iGNJFpBr0SQLは伝統的なドカタ道具の中ではズバ抜けてセンスのいい技術だから
食わず嫌いしないで一度ちゃんと学んだ方がいい
0549デフォルトの名無しさん (ワッチョイ 9c42-XpIe)
2016/11/18(金) 00:06:56.41ID:BJrPV4Dl0いまだにわからん
全部Lambdaでいいやん!
0550デフォルトの名無しさん (ワッチョイ b97b-AAsj)
2016/11/18(金) 00:09:34.50ID:ifsRvlL10int j = 0;
System.Console.WriteLine(i++); //0
System.Console.WriteLine(j+1); //1
この2つはなぜ結果が異なってしまうんでしょうか?
0551デフォルトの名無しさん (オッペケ Sra9-2XGH)
2016/11/18(金) 00:16:31.04ID:0j66y/nmrSQLはMySQLを5年ほどやっとります
0552デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/18(金) 00:30:20.75ID:gT3Hev+M0i++はインクリメントする前の値を返すから
0553デフォルトの名無しさん (ワッチョイ 40d9-k96Z)
2016/11/18(金) 00:46:38.58ID:iR5uoSVg0最初にCのポインタをやった時を思い出すといい
初めは全然分からなかったろ?でも今は楽に分かるだろ?
要は慣れ
0554デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/18(金) 00:55:03.81ID:gT3Hev+M0JoinとかGroupByとかSelectManyとかクエリ式無しだともはや暗号だろ
0555デフォルトの名無しさん (ワッチョイ 9fd4-XpIe)
2016/11/18(金) 01:08:31.02ID:Bd8bsuVC00556デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/18(金) 02:34:45.49ID:ayjJho0i0それ以外ならラムダ式でできるんか? 例えば? Where、selectを
ラムダ式で書いてみて。
ラムダ式の意味がわからんけど、まあ適当に「こんなんか」くらいで使ってる。
0557デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/18(金) 02:47:08.73ID:ayjJho0i0単純にSortするよな。
多用するとパーフォマンスが無茶苦茶落ちると思う。
0558デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/18(金) 02:54:33.31ID:ayjJho0i0{
get
{
return doc.Element("root").Element("collections").Elements("own").Select(c => c.Descendants("ID").First().Value);
}
}
LINQだめじゃん。 こっちのほうが簡単。
public IEnumerable<string> Records
{
get
{
return doc.XPathSelectElements("//root/collections/own/ID");
}
} 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0559デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/18(金) 02:57:24.22ID:ayjJho0i00560デフォルトの名無しさん (ワッチョイ 3a13-RUi6)
2016/11/18(金) 03:07:45.45ID:qODTBmiq00561デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/18(金) 03:13:27.93ID:ayjJho0i0var maz = elem.Element("vehicle").Elements("car").Where(c => ((string)c.Attribute("maker")) == "mazda"));
LINQはXMLみたいな階層構造を持ってるとダメじゃない?
これじゃ最初のItemしかサーチできないよ。
0562デフォルトの名無しさん (ブーイモ MM0d-N7ik)
2016/11/18(金) 08:03:56.85ID:/xmrja5bM大量データってわかってれば最初から速度最適化考えるし
CLRはメモリ節約の効果がでかいんだね
0563デフォルトの名無しさん (ワッチョイ b5dc-2XGH)
2016/11/18(金) 08:16:20.86ID:gT3Hev+M0LINQを使おうと思えば使えるシーンで大量データに対して O(N^2)とかの馬鹿みたいなループをやらかす奴はやっぱりいるわけだけど、
そういう奴は当然LINQなんか使わない(使えない)
0564デフォルトの名無しさん (ワッチョイ ad5b-N7ik)
2016/11/18(金) 08:21:39.98ID:O/884XX90ない場合どうやって作れる?
0565デフォルトの名無しさん (ドコグロ MMff-RUi6)
2016/11/18(金) 08:26:54.53ID:MmcaWbSXMチェックボックスかラジオボタンで代用
0566デフォルトの名無しさん (ワッチョイ 7c03-EDxK)
2016/11/18(金) 08:35:21.61ID:nNUszv7+0ありがとうございます!!
B+vLCAoF0さんのDictionaryを使う方法、
サンプルコードを準備していただいたhkg3+6Yaaさんの方法
どちらも勉強させていただきます。
本当に感謝です、ありがとうございました!
0567デフォルトの名無しさん (オッペケ Sra9-hkLf)
2016/11/18(金) 09:35:07.23ID:+KSaSaaRr0568デフォルトの名無しさん (ワッチョイ b974-qiik)
2016/11/18(金) 09:39:13.30ID:MjC3oXMe00569デフォルトの名無しさん (ワッチョイ 1519-/ySS)
2016/11/18(金) 10:51:06.70ID:AfWqy2AK02値のTrackBarとか
0570デフォルトの名無しさん (ワッチョイ 88d4-XpIe)
2016/11/18(金) 12:42:20.87ID:qAuADTbv0ちょっと方言が違うだけ、みたいな
値渡しなのか参照渡しなのか、パッと見で分からないし
使った変数の後始末はFramework任せとか
0571デフォルトの名無しさん (ワッチョイ 1519-/ySS)
2016/11/18(金) 14:11:40.18ID:AfWqy2AK0呼び出される側だけ特別な記述&/ByRefして呼び出す側は変わらないって言う
C#は両者共に特別な記述ref/outが必要で
0572デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/18(金) 14:27:23.42ID:ayjJho0i0その点F#をすこし触ってみたが、これは楽だな。C#からすると違和感があるが型推論が
しっかりしているので慣れると楽だと思う。
そもそもループを書くためのforとかがない。もしLINQを知らなかったら、ループなしで
どうやってプログラムを書くのか理解に苦しんだと思う。
0573537 (ワッチョイ 7c03-EDxK)
2016/11/18(金) 15:03:02.85ID:nNUszv7+0>>541 でサービスしていただきましたが現状とても難しいです。
=>ってなんでしょうか。ビルドできないです。。。
でも、もう少しがんばります。
0574デフォルトの名無しさん (アウアウオー Sa36-MfQN)
2016/11/18(金) 18:15:45.39ID:fuS99ZTSa使ってるC#のバージョンは?
それはC#6で導入された読み出し専用プロパティの省略記法
public List<Measured> MeasuredList => _MeasuredList;
は
public List<Measured> MeasuredList
{
get {return _MeasuredList;}
}
と同じ。
http://www.atmarkit.co.jp/ait/articles/1606/01/news051.html
0575デフォルトの名無しさん (ワッチョイ ad5b-N7ik)
2016/11/18(金) 20:21:01.12ID:O/884XX90そっかー残念
ありがとう
0576デフォルトの名無しさん (ワッチョイ 9fd4-XpIe)
2016/11/18(金) 20:30:49.38ID:P4KNWvky0簡単に作れるよ
0577デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/18(金) 20:45:44.35ID:ayjJho0i0どのコントロールを継承してどのように作るのか。
0578デフォルトの名無しさん (ワッチョイ 9fcf-RAPI)
2016/11/18(金) 20:53:06.96ID:cT5mFVkF00579デフォルトの名無しさん (アウアウオー Sa36-MfQN)
2016/11/18(金) 20:54:03.59ID:fuS99ZTSaトグルスイッチっていうのはビジュアルをAndroidのUIにあるような奴にしたいってことかな。
ボタンの凹凸を切り替えるのでよければ何もしなくても標準でできるけど
0580デフォルトの名無しさん (ワッチョイ 3f49-YqEk)
2016/11/18(金) 21:37:55.69ID:8JkTMqoR00581デフォルトの名無しさん (ワッチョイ 9fd4-XpIe)
2016/11/18(金) 21:51:48.89ID:P4KNWvky0Checkedで描画する画像切替えるとかで簡単に実現できる
サイズは画像のサイズに合わせてMaximumSizeとMinimumSizeを固定しちゃうとかかな
0582デフォルトの名無しさん (ワッチョイ 9fcf-RAPI)
2016/11/18(金) 22:02:56.90ID:cT5mFVkF0実装できました
0583デフォルトの名無しさん (ワッチョイ 3f49-+6wY)
2016/11/18(金) 22:24:07.69ID:8JkTMqoR00584デフォルトの名無しさん (ワッチョイ 34ce-ke/V)
2016/11/18(金) 22:47:36.55ID:YsofO7c600585デフォルトの名無しさん (アウアウオー Sa36-MfQN)
2016/11/18(金) 22:49:04.17ID:fuS99ZTSa十分でかいビットマップを使ってもいいと思うけど
0586デフォルトの名無しさん (ワッチョイ 34ce-ke/V)
2016/11/18(金) 22:51:45.64ID:YsofO7c60あれの状態をプログラムから参照したいのですが、
ウィンドウハンドル的なものは取れますか?
0587デフォルトの名無しさん (ワッチョイ 5e23-tQqt)
2016/11/18(金) 23:09:11.73ID:RGR0MUcx0つか、単純な図形だからGDI+で書いたほうが早いし、アニメーションさせたくなったら
画像はお払い箱です
0588デフォルトの名無しさん (ワッチョイ 3f49-YqEk)
2016/11/18(金) 23:12:28.84ID:8JkTMqoR0C#でも扱えるんだね
デカいビットマップの縮小は、小さいパーツだとあまり綺麗に表示されないよ
マルチアイコンみたいに複数の解像度の画像を用意すればましだけど
0589デフォルトの名無しさん (ワッチョイ 3a13-8L7G)
2016/11/18(金) 23:29:21.49ID:+XmNVsSt00590デフォルトの名無しさん (ワッチョイ 3a13-8L7G)
2016/11/18(金) 23:40:26.29ID:+XmNVsSt00591デフォルトの名無しさん (ワッチョイ 5e7d-XpIe)
2016/11/18(金) 23:55:36.52ID:X3QgbGYl00592デフォルトの名無しさん (ワッチョイ 56e1-RUi6)
2016/11/19(土) 00:45:16.52ID:1yryIr4y0普通に出来るだろ
0593デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/19(土) 02:06:11.41ID:E+HZm7+A0>Checkedで描画する画像切替えるとかで簡単に実現できる
>サイズは画像のサイズに合わせてMaximumSizeとMinimumSizeを固定しちゃうとかかな
こんなことやったことないわ。どういう意味だ?
なんでChecboxを継承する必要があるんだ?
つかトグルSWだよな。
ちょっとやってみるんで指導よろしく。
OnPaintで描くってどういう意味だ?
情報が欠落しすぎ。
まずプロジェクトに追加するのは何?
ユーザーコントロール? クラス? コンポーネント?
どれだ?
0594デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/19(土) 02:08:07.35ID:E+HZm7+A0追加クラス。
0595デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/19(土) 02:31:43.92ID:E+HZm7+A0{
Form _pform;
public clsToggleButton(Form frm)
{
_pform = frm;
}
public void OnPaint (PaintEventArgs pevent)
{
//ここにトグルボタンを描く
if( this.Checked == false ){
//どこに描くんだろ?
}else{
}
}
}
0596デフォルトの名無しさん (ワッチョイ 5e7d-XpIe)
2016/11/19(土) 02:41:43.15ID:wlTmYqF50で、追加されたコードのControlの部分をCheckBoxに。
OnPaintの所は、例えば↓みたいすれば、クリックするたびに赤と青が入れ替わる
protected override void OnPaint(PaintEventArgs pe)
{
using (var brush = new SolidBrush(Checked? Color.Red : Color.Blue))
{
pe.Graphics.FillRectangle(brush, ClientRectangle);
}
}
一度ビルドすると、ツールボックスに載るのでドラッグ&ドロップでフォームに配置できる
0597デフォルトの名無しさん (スププ Sdb8-RUi6)
2016/11/19(土) 02:54:11.98ID:aIswJeomd一切欠落してなくない?
Checkboxを継承したコントロールだから、クラスで、コンポーネントで、ユーザコントロールだけど、そんな瑣末な話は置いといて、
とりあえず、OnPaintをオーバーライドして、graphicsにthis.checked描画してみたら?
0598デフォルトの名無しさん (ワッチョイ 5e41-mj3c)
2016/11/19(土) 04:05:39.65ID:N2eyluxh0多いから調べてはいるけど
C#に慣れちゃってるとまーキモチワルい
確かにこれが出来ればほとんど何でも出来るんだろうけど・・・
とりあえずC++最高ということで
0599デフォルトの名無しさん (ワッチョイ 5e41-mj3c)
2016/11/19(土) 04:38:58.99ID:N2eyluxh0C#最高!です
なんとか基本的なことは出来るようになった希ガス
疲れたよ、もう
0600デフォルトの名無しさん (ワッチョイ 9fcf-RAPI)
2016/11/19(土) 06:23:34.01ID:S6bRHJ2700601デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/19(土) 06:31:51.33ID:E+HZm7+A0>コントロールだけど、そんな瑣末な話は置いといて、
うろ覚えの初心者には全然些末じゃないy。 無茶苦茶大事!!!
「Checkboxを継承したコントロール」ここにたどり着くのに一晩かかる。
ユーザコントロール is a コンポーネント
コンポーネント is a クラス
こういう関係なの? おお、初めて知った。
トグルボタン は ユーザーコントロールとして作るってことだね。納得。
でも空クラスを配置してCheckboxを継承してもおんなじことだよね。
何が違うの?
0602デフォルトの名無しさん (ワッチョイ 7c7b-8L7G)
2016/11/19(土) 06:56:43.78ID:E+HZm7+A0この説明は完璧って感じがする。
これからでかけるのでチェックできない残念。
0603デフォルトの名無しさん (ワッチョイ 9c7b-wMId)
2016/11/19(土) 08:53:15.23ID:gGKRRZRa0各種コントロールの説明や、継承チェーンを見れば?
自分が作りたいコントロールに近いものを探して使うか、
そこから継承して派生したコントロールを作ればいい
クラスを使う時は、継承チェーンをさかのぼりながら、
ベースクラスにどういう機能があるか調べる
なぜなら派生クラスは、ベースクラスのすべての機能を持っているから
0604デフォルトの名無しさん (ワッチョイ 3f49-YqEk)
2016/11/19(土) 12:30:26.20ID:xW+PNGAl0STLなんかは後付けで今風な機能を実装しようとしてて、無理やり感が半端ない。
0605デフォルトの名無しさん (スププ Sdb8-RUi6)
2016/11/19(土) 13:12:50.96ID:aIswJeomd同じ事だよ。
ユーザコントロール一度画面から選ぶと、似たようなコード出て来るから、
そいつの継承元見てみ。
>>596は親切だな。
0606デフォルトの名無しさん (ワッチョイ 9c7b-wMId)
2016/11/19(土) 18:51:47.20ID:gGKRRZRa0新しいクラスを作るときは、クラスウィザードの画面で作れば、自動的にクラスが作られる
0607デフォルトの名無しさん (アウアウオー Sa36-MfQN)
2016/11/19(土) 19:01:01.87ID:VKIYWaqIaところで前から思うんだけどウィザードってのはポリコレ的にどうなのかね
0608デフォルトの名無しさん (ワッチョイ 3a20-XpIe)
2016/11/20(日) 19:20:37.60ID:DP6jtmXB0簡易ツールを作りたくて
ランダムリード・ライトのサンプルを見つけたのですが
これでハードディスクへのランダムリード・ライトになるでしょうか?
//ランダム書き込み
using (System.IO.BinaryWriter rw = new System.IO.BinaryWriter(
File.OpenWrite(@"C:\temp\test.txt"), System.Text.Encoding.UTF8))
rw.Write("0");
//ランダム読み込み
using (System.IO.FileStream file = new FileStream(@"C:\temp\test.txt",
System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
byte[] bs = new byte[file.Length];
file.Read(bs, 0, bs.Length);
}
0609デフォルトの名無しさん (ブーイモ MMb8-RUi6)
2016/11/20(日) 19:28:04.56ID:aSeFXcOvM0610デフォルトの名無しさん (ワッチョイ 777b-w7k2)
2016/11/20(日) 20:25:05.70ID:JNgwCyth0.NETのライブラリだけじゃ割と無理じゃないかな
0611デフォルトの名無しさん (ワッチョイ 3a20-XpIe)
2016/11/20(日) 20:32:04.76ID:DP6jtmXB0なんてドライブの指定方法があるのですね
ただ、MBRを迂闊に書き換えると
クラッシュするとか
単純な読み書きは危険なようで
だから、公開されてるベンチツールには
シーケンシャルの読み書きしかないのかと思いました
情報ありがとうございます
0612デフォルトの名無しさん (ワッチョイ fa73-XpIe)
2016/11/20(日) 22:44:41.11ID:ujJmR5b00↓コードのbs に登録されているデータをLINQを使って
ID=100とID=200 のKamokuの平均値をだしたいのですがどんな風にやればいいでしょうか?
private List<Employee> emplist;
BindingSource bs = new BindingSource(emplist, string.Empty);
dataGridView1.DataSource = bs;
0613デフォルトの名無しさん (ワッチョイ 777b-w7k2)
2016/11/20(日) 23:11:49.40ID:JNgwCyth0emplistにWhereとAverageするだけじゃね
Whereで要素数0になる可能性があるとちょっと面倒だけど
0614デフォルトの名無しさん (ワッチョイ fa73-XpIe)
2016/11/20(日) 23:36:14.07ID:ujJmR5b00DataTable でLINQ使うときは、↓のように var items = dt.AsEnumerable() でやれるのですが
>>612のようにやるときは、bs.AsEnumerable() みたいにはできないのですか?
DataTable dt;
var items = dt.AsEnumerable()
.Where(x => x["id"] == "100")
.Select(x => x["Koumoku"].ToString());
0615デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/20(日) 23:45:11.80ID:mNZMIvsS0bs.Cast<Employee>().Where(…とできるんじゃないの
試したことないしそんなことしようとも思わないけど
0616デフォルトの名無しさん (ワッチョイ fa73-XpIe)
2016/11/20(日) 23:51:53.85ID:ujJmR5b00ありがとう試してみます。
0617デフォルトの名無しさん (ワッチョイ 3f49-YqEk)
2016/11/21(月) 02:19:09.69ID:iKiRpZRf0>>610の言う通り、c#のStreamキャッシュとOSのファイルキャッシュがあるから、C#標準のライブラリだけじゃ実現できないよ。
P/InvokeでCreateFile()やWriteFile()/ReadFile()等のWIN32APIを呼び出す必要がある。
OSのファイルキャッシュは、CreateFile()でオープンする時にFILE_FLAG_NO_BUFFERINGを指定すれば無効にできる。
HDDに直接書き込みたいなら、ロックとアンマウントも必要になるんじゃないかな。
(DeviceIoControl()でFSCTL_LOCK_VOLUMEとFSCTL_DISMOUNT_VOLUME)
0618デフォルトの名無しさん (ワッチョイ 159a-2Ppy)
2016/11/21(月) 05:14:56.16ID:6eO9t+4E0C#側でデリゲート型を定義して、起動時にコールバック関数のデリゲートをDLLに渡し、
DLL側では関数ポインタとして受け取ることで、C#側の関数をC側から適宜呼び出すことが
できました。C#側はunsafeを使ってないマネージコードなのに、Cから関数ポインタの形で
呼び出すことができるんですね、ちょっと驚きました。有り難うございました。
そこでもう一つ疑問が出てきたんですが、DllImportしたDLLがprintfした内容(標準出力)を、
WPFアプリやFormアプリで受け取って特定のコントロールに出力したり、GUIとは別に
コンソールウィンドウを出してそちらに表示するようなことはできるんでしょうか。
0619デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/21(月) 07:15:54.06ID:EumYM2T30素直に子プロセス作ってリダイレクトした方が簡単確実だけど
0620デフォルトの名無しさん (ワッチョイ fa23-tQqt)
2016/11/21(月) 08:51:20.53ID:hLpmxTjl00621デフォルトの名無しさん (ワッチョイ fa73-XpIe)
2016/11/21(月) 20:26:47.04ID:7M/YTSBB0class Person
{
public string id { get; set; }
public DateTime Dateday{ get; set; }
public int kamoku { get; set; }
}
var items = (from tesA in bs.Cast<Person>()
where tesA.id == 100
select tesA.kamoku).avrage;
↑でID = 100 のkamoku の平均を求めていますが、
Datedayの最新10件で平均を求めるのはどんな書き方があるでしょうか?
後、IDの割合を求めるときに↑のwhere tesA.id == 100 を外したのをもう一回やって割り算しているのですが一括で書くときはどうすればいいでしょうか?
0622デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/21(月) 22:40:08.70ID:EumYM2T30var av = (
from tesA in bs.Cast<Person>()
where tesA.id == 100
order by tesA.Dateday descending
select tesA.kamoku
).Take(10).Average();
IDの割合の方は質問の意味が分からない
0623デフォルトの名無しさん (ワッチョイ fa73-XpIe)
2016/11/21(月) 23:04:49.74ID:7M/YTSBB0ありがとうございます。参考になります。
IDの割合はAverageでなくてcountにしたほうがよかった。すみません
今は↓の結果 items100 / itemsALLで割合をだしています。これを1回で書きたいです。
var items100 = (from tesA in bs.Cast<Person>()
where tesA.id == 100
select tesA.kamoku).count;
var itemsALL = (from tesA in bs.Cast<Person>()
select tesA.kamoku).count;
0624デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/21(月) 23:08:48.37ID:EumYM2T300625デフォルトの名無しさん (ワッチョイ 5e41-mj3c)
2016/11/21(月) 23:14:12.37ID:lc1W0DQ40シーケンスな処理をするんですが
そのままだと当然boolの配列です。
この場合、配列にする際にConvert.ToInt32を使い
0,1の配列にした方が処理速度が速くなる
ということはあるでしょうか?
配列数は多くても64個です。
自分で確認はまだしてないですが
知見多き方お願いします。
0626デフォルトの名無しさん (ワッチョイ fa73-XpIe)
2016/11/21(月) 23:22:00.28ID:7M/YTSBB0>>623
すみません
items100 / bs.Count だと実際にやりたいので使えないので
↓ので items100 / itemsALL で書くときはどうしたらいいでしょうか?
var items100 = (from tesA in bs.Cast<Person>()
where tesA.id == 100
select tesA.kamoku).count;
var itemsALL = (from tesA in bs.Cast<Person>()
where tesA.id > 100
select tesA.kamoku).count;
0627デフォルトの名無しさん (ワッチョイ 0448-dXbs)
2016/11/21(月) 23:30:37.04ID:cS6E2DFI0BitArrayを調べてみたらいい、非ジェネリックでは唯一つかえる存在かもな
0628デフォルトの名無しさん (アウアウオー Sa36-MfQN)
2016/11/21(月) 23:34:45.98ID:4A1pLeCTabool使って遅くなる理由があると思えんなあw
どっちにしろ要素数64じゃ差はでないでしょ。
「シーケンシャルな処理」とやらが単純な論理演算ならboolやboolの代用にintを使った配列ではなく、
intをビットワイズで使えば圧倒的に高速になるとは思う
0629デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/21(月) 23:55:19.26ID:EumYM2T30短くしたいだけならこれでいいだろ
var persons = bs.Cast<Person>();
var items100 = persons.Where(p => p.id == 100).Count();
var itemsALL = persons.Where(p => p.id > 100).Count();
全件スキャンが2度走るのが気持ち悪いということなら、素直にループにするか、
もしくはこんなやり方もできないこともない
var items = bs.Cast<Person>().ToLookup(p => p.CompareTo(100));
return items[0].Count() / items[1].Count();
0630デフォルトの名無しさん (ワッチョイ fa73-XpIe)
2016/11/22(火) 00:12:53.34ID:FPsVs5Xk0最後のがまだよくわからないけど調べてみます。
ありがとうございました。
0631デフォルトの名無しさん (ワッチョイ 7d7b-XpIe)
2016/11/22(火) 00:22:30.53ID:a+0IO69G0もしかしてArrayListつかってる?List使った方がいいよ
bs = new List<Person>();
・
・
float result = (float) bs.Count(x => x.id == 100) / bs.Count(x => x.id > 100);
0632デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/22(火) 07:30:50.02ID:agBMDwRZ0初心者スレ的には「最終出力以外には使うな」でいいと思う
0633デフォルトの名無しさん (ドコグロ MM74-EDxK)
2016/11/22(火) 09:09:41.67ID:iOkC5GDaM遅くなりすみません。
教えていただいたコードでうまくいきました。
ありがとうございました。
使っているのはVisual C# 2013です。
0634デフォルトの名無しさん (ワッチョイ 40d9-k96Z)
2016/11/22(火) 13:19:07.30ID:xeeHVDvp00635デフォルトの名無しさん (ワッチョイ 5e41-mj3c)
2016/11/22(火) 20:13:44.80ID:ZJs8cfZ60>>628
ありがとうございます!!
そうですよね、このくらいの要素数なら
どっちにしろ誤差レベルとは思いましたが
かなり有益な情報得られたんでよかったです
調べてみます!
0636デフォルトの名無しさん (ワッチョイ 800d-ke/V)
2016/11/22(火) 21:09:02.72ID:0tp2RUgI00637デフォルトの名無しさん (オッペケ Sra9-hkLf)
2016/11/22(火) 21:23:07.00ID:vhsrXRxUrAとBにモデルとして関連があるなら、それ同士で連係。
画面としてのみの関連なら、ViewModel同士で連係。
0638デフォルトの名無しさん (ワッチョイ 800d-ke/V)
2016/11/22(火) 21:39:14.03ID:0tp2RUgI0返信ありがとうございます
ViewModel同士の連係の方ですが、具体的にどのようにすればいいでしょうか?
例えばBのViewModelにあるIsEnabledというメンバー変数の値がある場合、StaticにしてAのViewModelでBのViewModelのインスタンスを作るのでしょうか?
0639デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/22(火) 21:48:58.09ID:agBMDwRZ0AがBのインスタンスを作るんならStaticにする必要は全く無いだろ
しかし、そもそもVMを設ける目的は単体テストであるということを考えると、
VMが別のVMに明示的に依存するのは好ましくない
理想を言えば、AからBを直接newしたりBのメンバに直接アクセスするのではなく、
インターフェース (例えばIB) を定義してAからはIBを通してアクセスすることにして
AにBのインスタンスを外から渡してやるのがいい
インスタンスを渡すのはViewでやるかDIコンテナ使う
0640デフォルトの名無しさん (ワッチョイ 800d-ke/V)
2016/11/22(火) 21:58:02.53ID:0tp2RUgI0ご教授ありがとうございます!
ただ、
>インターフェース (例えばIB) を定義してAからはIBを通してアクセスすることにして
>AにBのインスタンスを外から渡してやるのがいい
この部分がわからないので、コードで実例を教えてください
0641デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/22(火) 22:11:27.86ID:agBMDwRZ0こんな感じ
interface IEnableable { public bool IsEnabled { get; set; } }
class AView {
private AViewModel vm;
public AView() {
this.vm = new AViewModel(BViewModelのインスタンスを取得());
}
}
class AViewModel {
private IEnableable b;
public AViewModel(IEnableable b) {
this.b = b;
}
void 連携する() {
this.b.IsEnabled = true;
}
}
class BViewModel : IEnableable {
public bool IsEnabled { get { 略 } set { 略 } }
}
BViewModelのインスタンスを取得() のところはnew BViewModel()でもいいしシングルトンでも何でもいい
MVVMでは依存関係はなるべくViewに押し付けるのが基本
0642デフォルトの名無しさん (ワッチョイ 800d-ke/V)
2016/11/22(火) 22:21:59.10ID:0tp2RUgI0なるほど、このようにやるんですね
Viewに押し付けるというのも勉強になりました
本当にありがとうございます!
0643デフォルトの名無しさん (ワッチョイ 9cba-XpIe)
2016/11/22(火) 22:34:41.26ID:BBlq8Dj70このシリアライズしたものをapp.configに含むことはできるでしょうか?
ファイル名や場所をコードで指定するのが嫌だなぁという程度の理由ですが。
0644デフォルトの名無しさん (ワッチョイ b5dc-Th+s)
2016/11/22(火) 22:42:45.68ID:agBMDwRZ0System.Configuration.ConfigurationSection
でも普通にSettings使った方が簡単だと思うけど
0645デフォルトの名無しさん (ワッチョイ 9cba-XpIe)
2016/11/22(火) 23:20:36.22ID:BBlq8Dj700646デフォルトの名無しさん (ワッチョイ a030-qiik)
2016/11/23(水) 01:45:13.48ID:MGsJz9yg00647573 (ドコグロ MM87-f5kA)
2016/11/24(木) 09:42:16.88ID:EZR6VYZqMif(1 == args.Count()){
var t1 = new TestItem("デバイス1");
}
if (2 == args.Count()){
t1.AddMeasured(new Measured("電圧", "V", 1));
t1.AddMeasured(new Measured("電流", "mA", 100));
testItems.Add(t1);
}
上記のようにすると下IF文内のt1が”現在のコンテキスト内に存在しません”となってしまします。
IF分の条件式は例ですがt1の生成と値の格納が同条件でない場合は
どのように処置するべきでしょうか。
やりたいことはテキストファイルから各語を読み出して格納して数値演算(平均値、最大、最小、標準偏差)したいのです。
テキストに格納してある情報は次の順になります。
”項目名1”
”項目名1の測定値1”
”項目名2”
”項目名2の測定値1”
・・・
”項目名10”
”項目名10の測定値1”
”項目名1”
”項目名1の測定値2”
・・・
1回目の”項目名n”を取得したときに配列(List)を生成し
その後は”項目名n”により選択した生成済みの配列に”測定値n”を格納したいです。
本業はHWよりのためC#基礎がわかって無く申し訳ありません。
でも何とかできることは自分で処理したいと思っています。
よろしくお願いします。
0648デフォルトの名無しさん (ワッチョイ ab3a-/sNf)
2016/11/24(木) 10:18:45.81ID:+mUg/yMV0if文の外で変数定義する。
『スコープ』の概念を学ぶべし。
今のレベルの基本が分かってない内はvar使わない方が良いかも。
varは便利だし正しく使えば特に害のない機能だけど、意味が分からないうちはやめとこう。
0649デフォルトの名無しさん (ドコグロ MM27-f5kA)
2016/11/24(木) 11:09:09.16ID:IyDqbIdrMありがとうございます!
チャレンジしてみます。
0650デフォルトの名無しさん (ワッチョイ a77b-rApL)
2016/11/24(木) 12:28:53.06ID:P/Ibr7r500651デフォルトの名無しさん (ワッチョイ c748-AQyI)
2016/11/24(木) 14:01:47.31ID:4ySrR9x20標準偏差は自前で計算してもいいけどMath.NET Numericsというのが既にある(nugetで入れる)
http://ideone.com/kv7bLQ
こういうのってRの方が手っ取り早い気がする
CSVの読み込みからグラフ描画まで揃ってるしな
0652デフォルトの名無しさん (ワッチョイ 5b3c-/sNf)
2016/11/24(木) 14:14:09.14ID:G2Ig6Dqz0var関係ないやろ
0653648 (ブーイモ MMc7-/sNf)
2016/11/24(木) 15:37:41.35ID:cupH4QVAMそれは同意する。積極的に使うべき。
ただ、スコープの理解がまだの方には少し毒と思っただけ。
>>649
異論も多いようなので、varに関しては先ほどの発言を気にせず自由にやって下さいな。頑張って!
0654デフォルトの名無しさん (JP 0Hdf-sTmH)
2016/11/24(木) 17:51:15.84ID:2Y5JG7GhHファイルの存在を確認する方法についての質問です。
if (System.IO.File.Exists(@"C:\tmp\sample.txt"))
{
MessageBox.Show("ファイルは存在します");
}
else
{
MessageBox.Show("ファイルは存在しません");
}
上記例の場合、
「tempフォルダ内のsample.txtというファイル」
の存在を確認するようになっていますが、
同時に異なる2つのフォルダ内の2種類のファイルの存在を
確認するにはどうすればいいのでしょうか?
C:\tmp1\sample1.txt
C:\tmp2\sample2.txt
が同時に(又は片方だけ)存在する場合の処理を行いたいと思っています。
File.Exists((@"C:\tmp1\sample1.txt")&&(@"C:\tmp2\sample2.txt"))
みたいな書き方はできないんでしょうか?
やってみたらNGになったんで質問した次第です。
よろしくお願いします。
0655デフォルトの名無しさん (ワッチョイ c748-AQyI)
2016/11/24(木) 18:09:09.66ID:4ySrR9x20if (File.Exists(@"C:\tmp\sample.txt") && File.Exists(@"C:\tmp\sample2.txt")) {}
if (File.Exists(@"C:\tmp\sample.txt") || File.Exists(@"C:\tmp\sample2.txt")) {}
という風にFile.Existsが2回必要なわけだろ
可変で1個かもしれないし2個以上かもしれないというときは
string[] list = { @"C:\tmp\sample.txt", @"C:\tmp\sample2.txt", };
に対してLINQが使える
if (list.All(x => File.Exists(x))) {}
if (list.Any(x => File.Exists(x))) {}
0656デフォルトの名無しさん (スッップ Sdaf-/sNf)
2016/11/24(木) 18:11:35.21ID:HdRBGkCMdExists(..)を&&で繋げば良いよ。
0657デフォルトの名無しさん (ワッチョイ abdc-MM3T)
2016/11/25(金) 07:04:44.10ID:9jtEtGtN0その場合、
list.All(File.Exists)
list.Any(File.Exists)
の方がスマート
0658デフォルトの名無しさん (JP 0Hdf-sTmH)
2016/11/25(金) 09:44:10.37ID:55zEIhIxHありがとうございました。
なるほど、パス名を&&でつなげてもだめですね。
File.Exists(・・・)&&File Exists(・・・)を
にしなきゃダメですね。
やってみたらうまくいきました。
LINQはあまりわかってないんですが、
やっぱり使えれればかなりコードを書くのが楽になるんでしょうか?
時間ができればやってみてもいいかなぁと思っていますが・・・
0659573 (ドコグロ MMcf-f5kA)
2016/11/25(金) 10:18:27.69ID:cWogpahDMレスありがとうございます。
勉強になります。
徐々に方向性が見えて来たような気がしています。
ありがとうございます。
0660デフォルトの名無しさん (ワッチョイ 37d9-1MTn)
2016/11/25(金) 16:46:17.82ID:3a2jMeJO0LINQで数えたいのですが、こんなのになってしまいました
もっと簡単に書ける方法はないでしょうか
const int N = 10000;
const int RMAX = 10;
Random r = new Random();
int c = 0;
int[] ori = {1, 5};
Enumerable.Range(1, N).Select(i => new { j = r.Next(RMAX) }).Select(i => ori.Any(j => j == i.j)).Where(i => i).Select(i => { c++; return 0; }).ToArray(); // 0〜9の中にori[]が含まれているかどうか調べる
Console.WriteLine($"{N}回の繰り返しで 0〜{RMAX - 1} の中にori[]が含まれていたのは {c} 回でした。");
0661デフォルトの名無しさん (オッペケ Sre7-4iO2)
2016/11/25(金) 17:23:50.79ID:vVyJsUPAr0662デフォルトの名無しさん (ワッチョイ c748-AQyI)
2016/11/25(金) 17:46:39.77ID:k5F1VYSo0int[] randoms = new int[N];
for (int i = 0; i < N; i++)
randoms[i] = r.Next(RMAX);
というのがあったと仮定して以下を実行する
c = randoms.Where(ori.Contains).Count();
0663デフォルトの名無しさん (ブーイモ MMc7-/sNf)
2016/11/25(金) 17:51:48.96ID:yM8tzyplM.Select(_ => r.Next(RMAX) )
.Count(ori.Contains);
0664デフォルトの名無しさん (ワッチョイ 27ba-lM3r)
2016/11/25(金) 23:44:37.58ID:8749fss/00665デフォルトの名無しさん (オッペケ Sre7-4iO2)
2016/11/26(土) 05:41:07.62ID:BlR4fLnAr0666デフォルトの名無しさん (ワッチョイ 37d9-1MTn)
2016/11/26(土) 15:45:30.50ID:q0gSFGbR0ありがとうございます
Select()に副作用書くのはListだとForEach()があるのですが、配列だと使えないので
無理矢理感がありますが許してください(汗
0667デフォルトの名無しさん (オッペケ Sre7-4iO2)
2016/11/26(土) 15:59:56.88ID:BlR4fLnAr許せぬ。
普通に>>663で良いんでないの?
0668デフォルトの名無しさん (ワッチョイ 1349-lVzu)
2016/11/26(土) 16:01:54.05ID:pkHe6RQg0ゆるさん。
根本的にLINQの使い方が間違ってる。
0669デフォルトの名無しさん (ワッチョイ 37d9-1MTn)
2016/11/26(土) 16:46:10.56ID:q0gSFGbR0駄目ですか
精進します
>>664
こうやってみました
DateTime dt = DateTime.Now; // 乱数のシード値に使う
Random r = new Random((int)dt.Ticks);
// 乱数測定1
Random r = new Random((int)dt.Ticks);
// 乱数測定2
以下続く
0670デフォルトの名無しさん (ワッチョイ 37d9-1MTn)
2016/11/26(土) 16:58:09.08ID:q0gSFGbR0DateTime dt = DateTime.Now; // 乱数のシード値に使う
Random r = new Random((int)dt.Ticks);
// 乱数測定1
r = new Random((int)dt.Ticks);
// 乱数測定2
以下続く
0671デフォルトの名無しさん (ブーイモ MMaf-VGur)
2016/11/26(土) 17:05:31.40ID:/HuSQ2djMpublic static IEnumerable<int> Randoms(int seed, int max, int count) {
var r = new Random(seed);
for(int i = 0; i < count; ++i)
yield return r.Next(max); }}
c = EnumerableEx.Randoms(seed, RMAX, N).Count(ori.Containts);
0672デフォルトの名無しさん (ワッチョイ abdc-MM3T)
2016/11/26(土) 17:27:30.27ID:UC4M2NKY0引数のcountは無しで無限ストリームにした方が美しいと思う
有限にしたければTakeで切ればいい
0673デフォルトの名無しさん (オッペケ Sre7-4iO2)
2016/11/26(土) 20:57:24.75ID:BlR4fLnAr続きは?
0674デフォルトの名無しさん (オッペケ Sre7-4iO2)
2016/11/27(日) 02:43:47.55ID:vLOqtuLor{
while(true) {
yield return next();
}
}
任意の乱数アルゴリズムを渡せるようにと考えたけど、もはやランダムとは無関係だよねww
0675デフォルトの名無しさん (ワッチョイ abdc-MM3T)
2016/11/27(日) 07:11:41.91ID:dEf188sX0名前が既に機能を表してないのはともかく、これは副作用が前提になるからよくない設計
どこかで副作用を使ってない限りnext()は必ず毎回同じ値になるはず
0676デフォルトの名無しさん (ワッチョイ 370b-PVnu)
2016/11/27(日) 13:07:28.68ID:ZDMyX7Jh00677デフォルトの名無しさん (ワッチョイ 87ce-w12Y)
2016/11/28(月) 06:20:00.23ID:d2SeRThv0なんでしょ?
0678デフォルトの名無しさん (ワッチョイ 87d4-TEJY)
2016/11/28(月) 20:53:46.42ID:jgfNB/jg00679デフォルトの名無しさん (ワッチョイ c748-AQyI)
2016/11/28(月) 21:37:11.66ID:TQQs9y8p00680デフォルトの名無しさん (ワッチョイ 4f4c-/sNf)
2016/11/29(火) 10:18:57.84ID:PfRgidpN00681デフォルトの名無しさん (ワッチョイ 87ce-w12Y)
2016/11/30(水) 00:56:16.15ID:H3buRLlE0そこにどうやってインスタンもねじ込んでるのか正確には知らないけど
関数ポインタをユニークなヒープ領域に書いてそれを渡して呼び出させる
みたいな気持ち悪いことを裏でやってるんだろう
0682デフォルトの名無しさん (ワッチョイ 87ce-w12Y)
2016/11/30(水) 01:03:41.03ID:H3buRLlE0スパイウェア認定されたりしないのはなぜだろう
0683デフォルトの名無しさん (ワッチョイ 279d-lM3r)
2016/11/30(水) 01:04:12.90ID:w8bfAEOD00684デフォルトの名無しさん (ワッチョイ a77b-rApL)
2016/11/30(水) 02:53:33.77ID:5s/CT6+70Msdnの説明なんて99%糞だよな。頭和杉、マクロバカって書いてある本を
見たことがある。
でもたまに凄くわかりやすいのがある。今日まさにそれに出会って
感想欄に
MSDNにしては本質をついていてわかりやすい。こんなにわかりやすい
せつめいは初めてだ。
これはMSDNの文章とは違う素晴らしい文章だ。たぶん外注のライターが
書いたものだと思うが、こういう外注さんは大事にしなさい。
ありえないとは思うが、もし万が一社員が書いたものならぜひともボーナス
を弾んであげてほしい。
と書いておいた。
0685デフォルトの名無しさん (ワッチョイ 5b3c-0AhV)
2016/11/30(水) 02:59:23.96ID:PzfaC3Zi00686デフォルトの名無しさん (ワッチョイ abdc-MM3T)
2016/11/30(水) 07:35:52.74ID:TOIBVM0F0マネージコードからの通常のInvokeや一般のクラスやインターフェースの仮想メソッド呼び出しでも
JITのために同様の仕組みがあるらしい
デリゲートが関数ポインタを持ってるんじゃなくて、呼び出し元(call siteという)ごとのキャッシュとして
ネイティブ関数を生成するみたいだ
0687デフォルトの名無しさん (ワッチョイ a77b-rApL)
2016/11/30(水) 10:16:51.02ID:5s/CT6+70デレッってしてる。
クラスと同様にインスタンスを作成して使うけれども抽象メソッドだから
実態のメソッドを代入して使用する。
その時に実態のメッソッドから名前を剝ぎ取った素っ裸のメソッドが
ラムダ式だ。
スッポンポンというところがデレゲートとラムダは似ている。
0688デフォルトの名無しさん (ワッチョイ a77b-rApL)
2016/11/30(水) 10:35:50.72ID:5s/CT6+70void test() {
delSm Sm; //型紙delSmから洋服Smを作成
Sm = (x => x * x); //素っ裸のメソッドにSmを着せる
int j = Sm(16); //j = 256
}
0689デフォルトの名無しさん (ワッチョイ 5c03-Z4eY)
2016/12/01(木) 16:54:34.62ID:0Um+ha3M0VS2013でC#コード入力していますが
補完機能の振る舞いがよくわからないことがあります。
例えば"int"と入力する場合
i→n→tとキーインすると
補完候補は"int"の表示が選択されています。
ここでスペースをキーインすると
エディタには"iint"と入力されてしまいます。
どういうことでしょうか?
returnもrreturnとなってしまいます。
0690689 (ワッチョイ 5c03-Z4eY)
2016/12/01(木) 16:55:46.18ID:0Um+ha3M00691デフォルトの名無しさん (ワッチョイ 6bc0-/mAi)
2016/12/01(木) 19:32:35.80ID:Zf0m27Yo00692デフォルトの名無しさん (ワッチョイ d1d6-NTgB)
2016/12/01(木) 23:26:48.62ID:iYDC/6Ae0ATOK使ってるけど普通に使えてるな
VSのサービスパックでも当てたら直るんじゃね?
0693689 (ワッチョイ 5c03-Z4eY)
2016/12/02(金) 08:57:18.65ID:31Pwg6Qz0ありがとうございます。
TABにしても同じなんです。
SPためしてみます。
と、書いていましたが
たった今VS2013起動して試してみたところ
問題有りませんでした。
原因はわかりませんが再起動すれば良いようですね。
お騒がせしました。ありがとうございました。
0694初心者 (ワッチョイ 50cf-yaSi)
2016/12/02(金) 14:04:42.72ID:mPN6uvNG0visualstudioのどれをダウンロードすればいいですか?一番左ですか?
0695デフォルトの名無しさん (アウアウオー Sabe-k+pW)
2016/12/02(金) 14:22:34.32ID:KR/8JQ+qa0696デフォルトの名無しさん (フォォーッ MM9b-NTgB)
2016/12/02(金) 14:24:44.13ID:hCuw5ExfMhttp://download.microsoft.com/download/8/0/3/8036DBC2-135E-431D-86FE-C2C53562C9F1/vs_community_JPN.exe
0697デフォルトの名無しさん (ワッチョイ 98d4-NTgB)
2016/12/02(金) 14:44:59.65ID:ulrrSATP00698デフォルトの名無しさん (オッペケ Sr8d-F2U0)
2016/12/02(金) 15:12:50.24ID:B5+8wL6Vr0699デフォルトの名無しさん (ワッチョイ 2a02-0Nhh)
2016/12/02(金) 15:32:17.74ID:mFAqdh2w00700デフォルトの名無しさん (ワッチョイ 9220-NTgB)
2016/12/02(金) 22:45:54.98ID:5RQuVDtH0テスト要領書って、本来コーディング前に作っておくものでしょうか?
うちの会社じゃ
いつもコーディングの後半に作ってるんですが
一般的にはどうなんだろうと思いまして
0701デフォルトの名無しさん (ワッチョイ 4dcb-g21N)
2016/12/02(金) 22:56:52.05ID:2vcaPjiT00702デフォルトの名無しさん (ワッチョイ 115b-25R2)
2016/12/02(金) 23:15:26.91ID:9K0+rqji00703デフォルトの名無しさん (ワッチョイ f4cb-yaSi)
2016/12/02(金) 23:44:10.13ID:UcIXa3VL0モノによって癖があるよ
インストール方法からして上手くいかないポイントが違う
業務でWindowsアプリ作るならSQLServerExpressがオススメ
絶対使うしね
趣味でレンタルサーバー使うならmysqlが多いかも
0704デフォルトの名無しさん (ワッチョイ d1d6-NTgB)
2016/12/02(金) 23:48:17.42ID:kbaBWwKx00705デフォルトの名無しさん (ワッチョイ f4ce-BRVC)
2016/12/02(金) 23:58:41.69ID:P1j76Eyi00706デフォルトの名無しさん (ワッチョイ 2aaf-MLbx)
2016/12/03(土) 00:46:33.44ID:6QJpBGmN0Firefoxのクッキーの管理なんかにも使われてる
0707デフォルトの名無しさん (ワッチョイ 115b-25R2)
2016/12/03(土) 09:19:05.56ID:/EDU3A450ありがとうございます!
さっそく調べてみます!
0708デフォルトの名無しさん (ワッチョイ 92e5-/mAi)
2016/12/03(土) 10:35:13.28ID:OhSejOMk0バージョンアップに合わせてasync await使って実装してみようと思います。
非同期を意識しない場合の元ソースは以下のコード
private void btn_click(省略)
{
var list = getList("なんたら");
}
private List<string> getList(string target)
{
var list = hogehoge関数
return list ;
}
この中で呼び出し元の btn_click から getList関数を非同期で呼び出すことは可能でしょうか?
可能であればいずれ同期的に使う可能性も含めて getList関数には手を入れたくはないのですが、入れられないのであれば手を加えても問題ありません。
有識者の皆様、何かしらヒントでもご教示いただけれb幸いです。
0709デフォルトの名無しさん (ワッチョイ 92e5-/mAi)
2016/12/03(土) 10:42:36.75ID:OhSejOMk0記述ミス修正
getList関数には手を入れたくはないのですが、入れられないのであれば手を加えても問題ありません。
↓
この中で呼び出し元の btn_click から getList関数を非同期で呼び出すことは可能でしょうか?
可能であればいずれ同期的に使う可能性も含めて getList関数には手を入れたくはないのですが、入れなければいけないのであれば手を加えても問題ありません。
Task<List<string>>にしないといけないんだろうなぁ…とは思いますが…。
0710デフォルトの名無しさん (ワッチョイ 2a02-0Nhh)
2016/12/03(土) 10:56:58.35ID:rfPwjFy00getListは同期関数にしたいの?非同期関数にしたいの?
0711デフォルトの名無しさん (ワッチョイ 39dc-Cf2b)
2016/12/03(土) 11:00:28.76ID:x7z2pgeG0async使うなら最終的にIOやユーザー操作でブロックされるところまで全部非同期で繋がないと意味ないよ?
0712デフォルトの名無しさん (ワッチョイ 839d-5gNI)
2016/12/03(土) 11:03:34.95ID:n86jitUO0こういうことじゃないの?
0713デフォルトの名無しさん (ワッチョイ 39dc-yaSi)
2016/12/03(土) 13:23:04.99ID:x7z2pgeG0時間的粒度の小さいメソッドでもいちいちawaitせざるを得ないことがよくあると思うんだけど、非効率だからまとめて処理できないもんかな
個人的には、全ての書き込みがバッファリングされることが保証されてるAsyncStreamみたいなクラスがあって
後でにまとめてawait FlushAsyncするという考え方の方がWriteAsyncより使いやすいと思うんだけど
0714デフォルトの名無しさん (ワッチョイ 92e5-/mAi)
2016/12/03(土) 13:33:41.53ID:OhSejOMk0イメージ的には
getList←同期
getListAsync←非同期(内部でgetListを呼ぶ)
のようになるのかなと。
もとのgetList自体は同期処理で動くようにしておきたかっただけという簡単なものでした。
>>712さんの言うところで出来てしまいました…。
あっさり過ぎて…ありがとうございました。
これでUIが固まらない為だけの面倒な非同期を書かなくて済みそうです。
0715デフォルトの名無しさん (スッップ Sda8-wK09)
2016/12/03(土) 17:28:43.65ID:6dOdOU6od0716デフォルトの名無しさん (ワッチョイ 39dc-yaSi)
2016/12/03(土) 17:42:27.55ID:x7z2pgeG0小規模な企業までならVS Communityが商用利用可
Communityが使えない規模ならVS Express
0717デフォルトの名無しさん (ワッチョイ 8d4a-JWTN)
2016/12/03(土) 21:57:51.27ID:NEbgZC1U0list<list<T>>で二次元じゃあないの?
0718デフォルトの名無しさん (ワッチョイ 839d-5gNI)
2016/12/03(土) 22:06:20.99ID:n86jitUO0多次元配列とジャグ配列で呼び分けるから
0719デフォルトの名無しさん (ワッチョイ 1ee1-yaSi)
2016/12/03(土) 22:51:22.62ID:1XG4MZmv0その程度なら自分で実装すればよくね?
0720デフォルトの名無しさん (ワッチョイ 6b0d-BRVC)
2016/12/03(土) 23:02:24.03ID:nNmCZ+K50ファイルやフォルダの数が多すぎると必ずフリーズします
例えば肥大化した"C:\Windows\WinSxS"を表示するにはどうしたらいいですか?(私の環境ではサブフォルダ数が1万数千あります)
0721デフォルトの名無しさん (ワッチョイ f4ce-BRVC)
2016/12/03(土) 23:27:08.60ID:55Oi6B7P0そもそも1万件とか画面に一度に表示できる数じゃないんだから
一部だけ出すとか表示方法を工夫する以外にないよ
既存のファイラーとかを参考にしてみたらどうかね
0722デフォルトの名無しさん (ワッチョイ f4cb-yaSi)
2016/12/04(日) 00:29:04.69ID:tP3D55j/0開いたフォルダのみ中身を表示してはどうだろうか?
0723デフォルトの名無しさん (ワッチョイ 5c7b-BMT5)
2016/12/04(日) 20:20:27.84ID:HFDVK7VF0using System.Reactive.Linq;
これを追加しても
エラー CS0234 型または名前空間の名前 'Reactive' が名前空間 'System' に存在しません (アセンブリ参照があることを確認してください)。
となる。参照を探してもmscore.libしかないがこれをチェックすると
「すでにビルドに組み込まれているのでエラー」になる。
どうしたらいいの?
0724デフォルトの名無しさん (アウアウカー Sa05-F2U0)
2016/12/04(日) 20:35:11.66ID:iX2mGjzba標準ではないよ
0725デフォルトの名無しさん (ワッチョイ 5c7b-BMT5)
2016/12/05(月) 06:04:42.72ID:kVcVuvgX0Nuget パッケージマネージャー画面でSystem.Reactiveをインストールしようと
する
設定は参照にして、パッケージソースは「すべて」
Nuget.org
packagesource
Microsoft and .NET
Microsoft Visual Studio Offline Package
にしている。
'.NETFramework,Version=v4.5.2' を対象とするプロジェクト 'WpfApp1' に関して、
パッケージ 'System.Reactive.3.1.1' の依存関係情報の収集を試行しています
Unable to load the service index for source http://packagesource.
この要求の送信中にエラーが発生しました。
リモート名を解決できませんでした。: 'packagesource'
========== 終了 ==========
インストールできない。
http://packagesource. このエラーが出るのはパッケージマネージャの設定に
間違いがあるんだろうか?
0726デフォルトの名無しさん (ワッチョイ 5c7b-BMT5)
2016/12/05(月) 07:19:43.60ID:kVcVuvgX0Install-Package : ソース '' 内でパッケージ 'System.Reactive' が見つかりません。
つまりパスが違っている。DefaultPathはどこに設定するのだろうか?
0727デフォルトの名無しさん (ワッチョイ 5c7b-BMT5)
2016/12/05(月) 07:22:18.16ID:kVcVuvgX0なぜだ? わからんが、とにかくインストールできた。手当たり次第に
出たらめにやるのがいいみたいだ。
0728デフォルトの名無しさん (アウアウオー Sabe-wK09)
2016/12/05(月) 21:52:16.25ID:7n2NXvP5aの中で速度が速い、またはメモリの消費が少ない手段はどれですか?
今回の使用目的はループ内でのカウンタです
また、それぞれの使い分けがわからないので適切な使用箇所があれば教えてください
0729デフォルトの名無しさん (ワッチョイ 9213-ggLi)
2016/12/05(月) 21:55:01.48ID:+86vS9TV0差はないから好きにすればいい
0730デフォルトの名無しさん (ワッチョイ 467d-NTgB)
2016/12/05(月) 22:28:32.97ID:k7XpTrID00731デフォルトの名無しさん (ワッチョイ 4d7b-1jzX)
2016/12/05(月) 22:44:22.01ID:VOjnBi1e00732デフォルトの名無しさん (オッペケ Sr8d-E9Xg)
2016/12/06(火) 02:55:06.76ID:4zSpj2YCrVSのnugetのインストーラが古いので更新する必要がある場合がある。
0733デフォルトの名無しさん (アウアウカー Sa67-OnqS)
2016/12/09(金) 10:45:19.60ID:0JyYFlmmacpy add 1 mov
inc
add 1
0734デフォルトの名無しさん (JP 0H5f-l58V)
2016/12/09(金) 10:50:44.15ID:u4ONmpntH部分式として使ってるならしらんけど
0735デフォルトの名無しさん (ワッチョイ 07ce-3ple)
2016/12/10(土) 21:08:20.94ID:9pHrXFRT0インデックスとして使うならunsafe付けてポインタ扱った方がいい
0736デフォルトの名無しさん (ワッチョイ d349-mlnL)
2016/12/10(土) 21:20:26.17ID:THyFY8cN0初心者スレでunsafeを気軽に進めない方が良い。
0737デフォルトの名無しさん (ワッチョイ ebdc-Ts63)
2016/12/10(土) 21:36:24.82ID:MAlDTlrl00738デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 06:33:33.19ID:caNoEqSZ0>ファイルやフォルダの数が多すぎると必ずフリーズします
>例えば肥大化した"C:\Windows\WinSxS"を表示するにはどうしたらいいですか?
>(私の環>境ではサブフォルダ数が1万数千あります)
自分もこれで悩んでる。1分ごとに測定したデータが1ファイルごとに1年分ある。
60x20x360=43万ファイル
これをGetFilesでファイル名を取り出して集計処理しようとするとファイル読み出しで
ハングする。
やり方がよくわからないので先輩に聞いたら
「Application.EentDoを入れたらキーが効くのでハングしないよ」
というアドバイスをもらってやってみたが、ダメだった。
で自分で少し調べてみたんだが、
UIの同一スレッドでこれをやると原理的にだめ。処理が重すぎてかならずハングする。
スレッドを分ける方法として、タスクプールを使う方法とスレッド生成がある。
タスクプールを使うのがよい。Async/Await
というところまでは分かったんだが、どうやって実現したらいいのかまだよくわからん。
0739デフォルトの名無しさん (ワッチョイ 07d4-QGPA)
2016/12/11(日) 06:47:31.93ID:fUQnV1N+0new クラス名.メソッド名();
とするのはなにか問題があるのでしょうか?
0740デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 08:40:31.81ID:caNoEqSZ0それはコンパイルエラーになるから問題ないと思うが、、、
0741デフォルトの名無しさん (ワッチョイ ebdc-6LJV)
2016/12/11(日) 09:12:08.77ID:xUW3RgdE0new クラス名().メソッド名();
の間違いと仮定した上での回答だが、
毎回必ずそのパターンで使用されるのであれば実質staticメソッドと変わらないからstaticメソッドにすることも検討すべき
パラメータが複雑な場合にBuilderパターンとFluentなスタイルを組み合わせて、
new Request().WithEncoding(UTF8).with…().Send();
みたいにするのは丁寧に作られてるライブラリだとよくあるけど
0742デフォルトの名無しさん (ワッチョイ 07cb-1E9w)
2016/12/11(日) 09:24:54.90ID:G916gL+V0仕様が決まってない問題をAPIの問題にすり替えてる
超たくさんファイルがあるとき結局どうしたいの?
全部表示したいの?一部表示したいの?
ユーザに指定させて表示したいの?
0743デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 09:42:50.42ID:caNoEqSZ0TreeView表示と同じだが、ファイルを読みだしてグラフ表示しながら同時にファイル
読み出しとその集計処理もやる必要がある。
100ポイントづつを読みだして処理して表示する。
続きを100ポイント読みだして処理して表示する。
このようにシングルスレッドのなかで実現できれば、それが最も良い。
しかし、処理を分割するのはGetFilesのようなライブラリを
使う場合は中断して途中から再開は不可能だ。
そこで、GetFilesは別タスクで動かして非同期処理をするパイプを作ればいい。
task1 thread
data = getfiles();
FIFO.add(data);
UI thread
tree.add( FIFO.read());
というのが検討中の内容だ。
0744デフォルトの名無しさん (ワッチョイ ebdc-Ts63)
2016/12/11(日) 09:42:54.26ID:xUW3RgdE0SparkとかHiveとか使えばいいんじゃないか
0745デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 09:51:31.24ID:caNoEqSZ00746デフォルトの名無しさん (ワッチョイ ebdc-Ts63)
2016/12/11(日) 09:54:31.80ID:xUW3RgdE0抽象度が全然違う
ちゃんとしたビッグデータ処理基盤を使えば、
データを全部HDFSに放り込んでおきさえすれば簡単にデータセット全体にクエリがかけられる
いちいち要件に応じて作り込まなくていい
0747デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 09:55:28.07ID:caNoEqSZ0そんな商用ツールは見掛け倒しと思って間違いない。第一広まらないy。
0748デフォルトの名無しさん (ワッチョイ ebdc-Ts63)
2016/12/11(日) 09:58:51.14ID:xUW3RgdE0オープンソースだしデータ処理の世界じゃクソ有名だよ?
脊髄反射で拒否する前にちょっとは新しいことに興味持ってみてもいいんじゃないかな、
余計なお世話かもしれないけど
0749デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 10:05:36.19ID:caNoEqSZ00750デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 10:07:25.47ID:caNoEqSZ00751デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 10:12:32.86ID:caNoEqSZ00752デフォルトの名無しさん (ワッチョイ ebdc-Ts63)
2016/12/11(日) 10:16:20.28ID:xUW3RgdE0ざっくりいえば大量データのバッチ処理が速い
レイテンシが大きいのでリクエストをリアルタイムに処理して結果を返すようなものには向いていない
0753デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 10:33:30.52ID:caNoEqSZ0という印象を受けた。これは面白い。
しかし目移りしてどこから取り掛かったらいいのか困る。VBをチョロっとしか経験がないので
C#には新しい概念がありすぎてミクロ的にもマクロ的にはほんとに目移りする。
LINQ、WPF、RX、ざっとみたところだ。
いままだ右も左もわからないので取り合えず。適当にReactive Extention からマスターして
みようと思っているが、、、、
0754デフォルトの名無しさん (ワッチョイ 0b7b-ymeu)
2016/12/11(日) 11:12:34.07ID:n3GfLzAe0newより.の方から優先順位が高いので
その例ではクラス名.メソッド名 のスタティックメソッドを呼び出して、その戻り値をnewする事になる
なので、newをカッコでくくる
(new Date).toISOString();
0755デフォルトの名無しさん (ワッチョイ 0b7b-ymeu)
2016/12/11(日) 11:13:40.49ID:n3GfLzAe00756デフォルトの名無しさん (ワッチョイ ebdc-Ts63)
2016/12/11(日) 11:16:14.04ID:xUW3RgdE0WPFも終わった技術だから今更要らない
専業コーダーじゃないんなら小手先の技術に拘るのはほどほどにして
マイクロサービス的な連携だとかクラウド活用だとかもっとマクロな領域へシフトしていった方がいいと思うよ
0757デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 13:36:37.71ID:caNoEqSZ0言わんとするところはよくわかる。考え方の本質は同じだとおもう。
できれば楽にプログラムをしたい。
WPFは終わったのだろうか? たしかに流行ってないよね。w
でもMVVMの考え方は間違っていないと思う。
Rxはマイナーな技術なんだろうか? 応用できる範囲がどの程度あるのか
はよくわからない。
LINQには少なからず衝撃を受けたので、Push型のRXはなにかとてつもない発見
がありそうな予感がする。
もっともLINQというよりはIEnubableとかデザインパターンの考え方に衝撃を受けた。
マクロ的な技術を使う上でもミクロをある程度は理解していないと、無駄な使い方
をしてしまう可能性があるように思う。その意味では細部まで100%理解しよう
なんて思わないが、60%くらいは理解しておきたい。
0758デフォルトの名無しさん (ブーイモ MM07-caEn)
2016/12/11(日) 13:48:02.76ID:Z923MDQCM0759デフォルトの名無しさん (ワッチョイ 5b79-pq3j)
2016/12/11(日) 14:07:20.29ID:bG1axWcs00760デフォルトの名無しさん (ワッチョイ 5b79-pq3j)
2016/12/11(日) 14:12:00.35ID:bG1axWcs00761デフォルトの名無しさん (ワッチョイ d349-mlnL)
2016/12/11(日) 14:12:51.19ID:31wztqOV0GetFiles()って、Directory.GetFiles()のこと?
それだったら、代わりにDirectory.EnumerateFiles()を使えば逐次処理出来るよ。
0762デフォルトの名無しさん (ワッチョイ d349-mlnL)
2016/12/11(日) 14:29:28.43ID:31wztqOV0恐らく、やりたいのは
(new クラス名).メソッド名();
ってことだと思うけど、何度も使う場合は毎回newすることになるので非効率。
また、IDisposeなクラスの場合はDispose()を呼べない。
上記2つに問題ないなら使っても構わない。staticメソッドにすべきだけどね。
0763デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 14:49:28.21ID:caNoEqSZ0それなかったな。 会社がVs2008なのでw
Vs2008で.net Framework4.5とかつかえるんだろうか?
0764デフォルトの名無しさん (ブーイモ MM07-caEn)
2016/12/11(日) 14:58:46.78ID:Z923MDQCM0765デフォルトの名無しさん (ワッチョイ cb5b-w4ID)
2016/12/11(日) 14:59:38.20ID:PxfwJXGz0どういう方法がありますか?
struct A{ int x=0,y=1,z=2; }
A a = new A();
IntPtr ptr;
Marshal.StructureToPtr(a, ptr, false);
0766765 (ワッチョイ cb5b-w4ID)
2016/12/11(日) 15:00:53.89ID:PxfwJXGz00767デフォルトの名無しさん (オッペケ Sr27-w4ID)
2016/12/11(日) 15:40:06.69ID:pNKp5sE/rList<string> list = new List<string> {"hage", "namahage"};
どっちもいけるんだけどどう違うの?
0768デフォルトの名無しさん (ワッチョイ 07cb-1E9w)
2016/12/11(日) 15:41:48.31ID:G916gL+V0でも現実には処理が間に合わないわけじゃん
それでも一気に表示する仕様は変えないのか?
エクスプローラーではできてるのか?とか
Windowsのコピーって動作だって早く終われば進捗ウィンドウなんて出さないけど
長くかかれば進捗ウィンドウが出てくるわけよ
0769デフォルトの名無しさん (ワッチョイ d349-mlnL)
2016/12/11(日) 15:48:11.13ID:31wztqOV0肝心な条件を後だしとか酷いな。
Directory.EnumerateFiles()は.Net 4からだけど、VS2008は.Net3.5までだな。
.Net3.5じゃ、Async/AwaitどころかTaskも使えないぞ。
>>739で用語が混じってるけど、スレッド/スレッドプール/タスクね。
0770デフォルトの名無しさん (ワッチョイ d349-mlnL)
2016/12/11(日) 15:55:26.64ID:31wztqOV0逐次処理がしたいなら、Win32API使ってDirectory.EnumerateFiles()のようなものを独自実装するしかないな。
0771765 (ワッチョイ cb5b-w4ID)
2016/12/11(日) 17:07:16.26ID:PxfwJXGz0したのですが、こういう方向性では無理ですか?
IntPtr ptr = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(A))*a.Length);
for(int i = 0; i < a.Length; ++i){
Marshal.StructureToPtr(a[i], ptr+i*size, false);
}
0773デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 17:56:21.30ID:caNoEqSZ0そういうことか。 それでDoEventが聞かなかったんだね。
>769
Net4をダウンロードして、参照すればいいだけかとおもっていたが
むりか?
0774デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 18:00:11.20ID:caNoEqSZ0System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\test");
System.IO.FileInfo[] files =
di.GetFiles("*.txt", System.IO.SearchOption.AllDirectories);
//ListBox1に結果を表示する
foreach (System.IO.FileInfo f in files)
{
ListBox1.Items.Add(f.FullName); ここでキューにいれればいいやん。
}
0775デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 18:06:46.94ID:caNoEqSZ0>それでも一気に表示する仕様は変えないのか?
キューから取り出して表示するんなら、UIがわで順次表示できるよ。
問題はUIで超重たい処理がはいるのでハング状態になるということだけ
でしょ。
UIが動けば、ブレーク中断したり任意にできる。
0776デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/11(日) 20:18:29.55ID:caNoEqSZ00777デフォルトの名無しさん (ワッチョイ ebdc-6LJV)
2016/12/11(日) 22:29:10.18ID:xUW3RgdE0パラメータや結果の受け渡しはRPC(IPC)使ってもいいけど、今回の要件ならファイルベースでもオーバーヘッドは全く無視できる
0778デフォルトの名無しさん (ワッチョイ 07cb-1E9w)
2016/12/11(日) 22:30:49.68ID:G916gL+V00779デフォルトの名無しさん (ワッチョイ d723-xm+r)
2016/12/12(月) 01:48:31.95ID:jfe+O/Es0.NET 4.0以降ならこういうのもあるよ、Marshal.AlignedSizeOf<T>()でアライメントされるが
https://msdn.microsoft.com/ja-jp/library/system.runtime.interopservices.safebuffer
派生クラスでhandleに確保済みポインタを設定し、Initialize<T>()等でポインタ領域も指定
StructureToPtrはジェネリックメソッドでさえも非ジェネリックのラッパーっぽいので
パフォーマンスは期待できない、unsafeで良ければ構造体ポインタ使った方が良いかもね
0780デフォルトの名無しさん (ワッチョイ cb5b-w4ID)
2016/12/12(月) 02:20:55.85ID:JnfesTFd0おぉ〜情報ありがとうございます!
なるほどそういうのもあるんですね。
教えて頂いた事を参考にさせて頂いてどうやるかもうちょっと考えてみます。
0781デフォルトの名無しさん (ワッチョイ ebdc-6LJV)
2016/12/12(月) 06:39:25.29ID:w8oqDcFY0unsafeならfixedステートメントがだいたい等価
いちいちアンマネージなバッファを割り当てたり更新内容をマネージコードに書き戻したりしなくていいから楽
0782デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/12(月) 08:05:25.67ID:Jwz8x4f60>パラメータや結果の受け渡しはRPC(IPC)使ってもいいけど、今回の要件なら
>ファイルベースでもオーバーヘッドは全く無視できる
全然意味がわからない。C#でCSVを作ったとして
1.C#からScalarにクエリを送信して、
2.Sparkの処理終了を待つ
3.結果を受信する。
これをC#でプログラムして、Scalarでもプログラムするってこと?
言うのは簡単だが、、、、例でもなきゃ調べてプログラムするのに1週間はかかりそう。w
本質的な情報が欠落しているとおもうよ。こんなのは初心者には全然意味がわからない。
0783デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/12(月) 08:06:12.67ID:Jwz8x4f60こういうのを使えってことだろうか?
Mobius: C# API for Spark
0784デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/12(月) 08:10:10.92ID:Jwz8x4f60var words = lines.FlatMap(s => s.Split(' '));
var wordCounts = words.Map(w => new KeyValuePair<string, int>(w.Trim(), 1))
.ReduceByKey((x, y) => x + y);
var wordCountCollection = wordCounts.Collect();
wordCounts.SaveAsTextFile(@"hdfs://path/to/wordcount.txt");
こんな感じでC#からSparkをコントロールしたいのだが、もっとも一般的で初心者向け
な簡単な方法はなにでしょうか?
0785デフォルトの名無しさん (ブーイモ MM2f-6LJV)
2016/12/12(月) 08:30:36.13ID:FdLiOBdBMそれを普通にScalaかPythonかJavaで書いてC#からProcess.Startで呼べばいい
なんでもC#でやる必要ない
0786デフォルトの名無しさん (オッペケ Sr27-l58V)
2016/12/12(月) 11:23:30.02ID:FEnMQE8Ar0787デフォルトの名無しさん (ブーイモ MM2f-6LJV)
2016/12/12(月) 11:31:59.68ID:FdLiOBdBM違いはない
0788デフォルトの名無しさん (アウアウオー Sa3f-ff1P)
2016/12/12(月) 11:55:48.82ID:DdSBjDaJahttps://msdn.microsoft.com/ja-jp/library/bb308966.aspx#topic12
0789デフォルトの名無しさん (ワッチョイ 277b-gb6D)
2016/12/12(月) 14:45:07.46ID:Jwz8x4f60なるほど。
傾向を掴むだけの場合にはいいけれども、アプトプットの表現を加工したいような
場合にはやはりC#でないと、、、となって結局はC#が必要になるような気がする。
JavaもC#も言語的にはそんなに変わらないが、インテリセンスのないようなIDE
では作業できないと思わないか?
Scalaとか触ってはみたがインテリセンスがないのでこれでは使えない。
インテリセンスがあればうろ覚え程度でもなんとかなる。
0790デフォルトの名無しさん (ワッチョイ b741-mm6H)
2016/12/12(月) 15:32:39.38ID:9sS+uj7w0Javaはpublicに
C#はprivateになるのは
かなりデカイ違い
0791デフォルトの名無しさん (ワッチョイ 5b79-pq3j)
2016/12/12(月) 15:56:55.39ID:snQzvIqt0javaはppだぞ
0792デフォルトの名無しさん (ワントンキン MMef-g0tO)
2016/12/12(月) 16:46:36.53ID:cpVlzpwxM0793デフォルトの名無しさん (ワッチョイ 5b79-pq3j)
2016/12/12(月) 17:00:27.95ID:snQzvIqt00794デフォルトの名無しさん (ブーイモ MM47-caEn)
2016/12/12(月) 18:52:15.45ID:VeOEVzI1M0795デフォルトの名無しさん (ワッチョイ 5b79-pq3j)
2016/12/12(月) 19:44:00.02ID:snQzvIqt0Ctrl+spaceで出すか、設定からいつでも出るようにしないといけない
0796デフォルトの名無しさん (ワッチョイ 5f73-drn7)
2016/12/12(月) 23:05:44.03ID:dBjxs9jc0Linqで荒川のindex(rowの位置)を取得するにはどう書けばいいのですか?
0797デフォルトの名無しさん (ワッチョイ ebdc-Ts63)
2016/12/12(月) 23:11:46.39ID:w8oqDcFY0そんなことはしない
データソースに直接クエリするべき
0798デフォルトの名無しさん (ワッチョイ 5f73-drn7)
2016/12/12(月) 23:30:47.31ID:dBjxs9jc0indexをforで探して別のフィールドの国語、数学の点を変えるでやっているんだけど
forじゃなくてLinqで探せないかなと思って、forよりLinqのが早い?かなと
0799デフォルトの名無しさん (ワッチョイ 6b23-WrC4)
2016/12/12(月) 23:34:13.53ID:/DQxiOau0行数が少ないだけでスピードは大して変わらんよ
0800デフォルトの名無しさん (ワッチョイ b790-d424)
2016/12/13(火) 23:38:21.93ID:3IrbMGrr0使えそうなコントロールアイテムってありますか?
0801デフォルトの名無しさん (ブーイモ MM07-6LJV)
2016/12/13(火) 23:45:34.29ID:D1DGYHRwM0802デフォルトの名無しさん (ワッチョイ b790-d424)
2016/12/13(火) 23:45:54.00ID:3IrbMGrr0MonthCalenderアイテムのたとえば第1・3火曜日だけを色を変えたりとかってどうやるんでしょうか?
0803デフォルトの名無しさん (ワッチョイ ebdc-Ts63)
2016/12/14(水) 01:12:47.69ID:dZsAFSxQ0出来合いのカレンダーコンポーネントなんかHTMLなら腐るほどあるから
今時WinFormsなんかやめてASP.NET MVCでWebアプリとして作ることをお勧めする
0804デフォルトの名無しさん (ワッチョイ d349-mlnL)
2016/12/14(水) 01:25:03.42ID:ymoBJubC0初心者がいきなりASP.NET MVCとか無理だろ。
0805デフォルトの名無しさん (ワッチョイ 3f19-i2Au)
2016/12/14(水) 01:50:56.59ID:WNb69LWH00806デフォルトの名無しさん (スププ Sd2f-8RvK)
2016/12/14(水) 02:05:02.38ID:0k2o8obnd0807デフォルトの名無しさん (ワッチョイ 07cb-1E9w)
2016/12/14(水) 22:24:55.46ID:AUUgXdZT0今時、DBにも繋がらないゴミになんか価値あるの?
って思う
メモ帳ですらgoogleでクラウド化してくれたことでやばいぐらい利便性が上がってる
0808デフォルトの名無しさん (スププ Sd2f-8RvK)
2016/12/14(水) 22:39:26.79ID:0k2o8obndデスクトップアプリがDBに繋がらないって意味分からん
0809デフォルトの名無しさん (ワッチョイ 3faf-i2Au)
2016/12/14(水) 22:46:30.91ID:iFO9XKWI0ローカルのファイル書き込みと同じように使えるから初心者でも楽でいいよ
0810デフォルトの名無しさん (ワッチョイ 6b23-WrC4)
2016/12/14(水) 23:01:05.01ID:4HnH0eA/0SQLiteは、同時書き込みサポートしていないから、当該アプリケーション専用かつ、二重起動不可にしないと何かと問題起こるでしょ
0811デフォルトの名無しさん (スププ Sd2f-8RvK)
2016/12/14(水) 23:06:38.72ID:0k2o8obnd用途に合わせてDB選択すればいいじゃないですか
0812デフォルトの名無しさん (ワッチョイ 34cb-Wqrw)
2016/12/15(木) 00:01:01.86ID:I51Ec/8p0クラウド的な意味で
なんでもネットに繋げて見るべきだと思うな俺は
0813デフォルトの名無しさん (スププ Sdb8-WTZK)
2016/12/15(木) 00:37:49.10ID:R3vgAk4Qd?
0814デフォルトの名無しさん (ブーイモ MMb8-JvIx)
2016/12/15(木) 00:50:31.08ID:ArFpv1XpM.NET Coreも正式リリースされ、C#はクラウド開発の主要技術として本格的に覇権を取りにいく時代に入った
デスクトップアプリなどという終わった技術に固執している場合ではないよ
0815デフォルトの名無しさん (ワッチョイ 9c9d-0G5/)
2016/12/15(木) 01:56:47.57ID:UyqFS3sy00816デフォルトの名無しさん (ワッチョイ 350c-8I6M)
2016/12/15(木) 01:58:26.76ID:roF9qDxe0仕事でデスクトップアプリ作ることないの?
いままでデスクトップアプリだったけど、Webに移行できたアプリって例えばどういうのがあるの?
0817デフォルトの名無しさん (ワッチョイ 413c-awGI)
2016/12/15(木) 03:06:24.93ID:hXmFu1Hy0業務アプリはWeb移行流行っただろ
デスクトップアプリは、開発ツールとしてならちょくちょくつくるね
0818デフォルトの名無しさん (スププ Sdb8-WTZK)
2016/12/15(木) 04:10:25.23ID:R3vgAk4Qd0819デフォルトの名無しさん (ワントンキン MM40-Qnvt)
2016/12/15(木) 06:03:28.59ID:4tPXC7shM0820デフォルトの名無しさん (JP 0H57-8I6M)
2016/12/15(木) 10:17:25.60ID:AviUmHkiHMS的にAzure App ServiceとXamarinと.NET Core推しでUWP含めデスクトップアプリを捨てにかかってる感はある
0821デフォルトの名無しさん (スププ Sdb8-WTZK)
2016/12/15(木) 10:33:10.37ID:QVvM9ANidxamarinはUWPサポートしてるんですが
0822デフォルトの名無しさん (ワッチョイ 8001-Vn9u)
2016/12/15(木) 10:42:37.80ID:FQrvRs280しょうがないからWebアプリでも仕方なしに使うけど、個人で使うならよっぽど何か
メリットがない限り、Webアプリを選ぶ事はないわな
0823デフォルトの名無しさん (ドコグロ MM1c-Wqrw)
2016/12/15(木) 11:52:17.88ID:JOHJeedcMえ?
むしろスマホも枠に入れたらwebアプリのが多くならない?
0824デフォルトの名無しさん (ドコグロ MM74-f0Z7)
2016/12/15(木) 12:11:23.13ID:oGetrQbmM0825デフォルトの名無しさん (ワッチョイ 8001-NX/j)
2016/12/15(木) 12:12:53.08ID:FQrvRs2800826デフォルトの名無しさん (ワンミングク MM40-BQpQ)
2016/12/15(木) 12:33:06.76ID:7KRIzockM0827デフォルトの名無しさん (ワッチョイ f2af-fzYk)
2016/12/15(木) 15:47:36.94ID:cs8YXCvF0ソシャゲー以外はゲームもそれ以外もネット無しでも動くのが多いけど
0828デフォルトの名無しさん (スププ Sdb8-WTZK)
2016/12/15(木) 16:19:58.27ID:QVvM9ANid同じに決まってますやん
っていうかもしかして
デスクトップアプリ=通信機能なしのアプリ
Webアプリ=通信機能ありのアプリ
と思ってる人いる?
0829デフォルトの名無しさん (ワッチョイ 3976-ayWP)
2016/12/15(木) 20:22:44.73ID:JHzpWXH70electronとかでテクノロジー的には統一されるのかもしれんが
0830デフォルトの名無しさん (ワッチョイ 39d9-0Nmv)
2016/12/15(木) 20:50:15.58ID:0F4R16IB00831デフォルトの名無しさん (ワッチョイ 34cb-Wqrw)
2016/12/15(木) 22:01:11.28ID:I51Ec/8p00832デフォルトの名無しさん (スププ Sdb8-WTZK)
2016/12/15(木) 22:07:11.09ID:QVvM9ANidどうぞどうぞ
0833デフォルトの名無しさん (ワッチョイ 3542-XOD+)
2016/12/15(木) 22:41:41.93ID:Uw+BYsZj0つunity
0834デフォルトの名無しさん (オッペケ Sr29-I6+1)
2016/12/15(木) 23:42:14.65ID:FEXhH1XvrなんでそこでUnity出てくるんだよ
アプリ=2D/3Dゲームとは限らんだろ
0835デフォルトの名無しさん (アウアウイー Sa87-WqSn)
2016/12/15(木) 23:52:53.04ID:JZ4+gGwKaつunity
0836デフォルトの名無しさん (ワッチョイ 3542-XOD+)
2016/12/15(木) 23:53:04.54ID:Uw+BYsZj0ゲームエンジンだからってゲーム製作を強制されてるわけじゃないしマルチプラットフォーム楽だから提案しただけ
情報はそれなりに多いしC#でスマホアプリ開発したいなら余裕で候補に入ってくると思うけど
0837デフォルトの名無しさん (ドコグロ MM74-f0Z7)
2016/12/15(木) 23:55:29.59ID:oGetrQbmM0838デフォルトの名無しさん (ワッチョイ 35dc-JvIx)
2016/12/16(金) 00:09:14.95ID:oD0nT6zl00839デフォルトの名無しさん (ササクッテロル Sp29-DuXA)
2016/12/16(金) 14:15:42.62ID:+kSjzPrMpUnity使ってゲームじゃないもの複数リリースしてるわ俺
0840デフォルトの名無しさん (スププ Sdb8-WTZK)
2016/12/16(金) 14:58:58.27ID:2fwYBe0Xd0841デフォルトの名無しさん (JP 0Hf9-hLkw)
2016/12/16(金) 16:48:03.99ID:q/3Oja+oH十分使えるのかね?
0842デフォルトの名無しさん (ワッチョイ 794a-xySp)
2016/12/16(金) 17:30:52.01ID:3vYA7mHR0CoreってまだPreviewでしょ?
0843デフォルトの名無しさん (ワッチョイ 3179-fmwP)
2016/12/16(金) 17:31:55.76ID:OhRUtX+J00844デフォルトの名無しさん (ワッチョイ 9523-8I6M)
2016/12/16(金) 18:33:01.02ID:pxUpeQjw0http://www.publickey1.jp/blog/16/net_core_10_redhat.html
オープンソースの「.NET Core 1.0」、マイクロソフトが正式リリース。Windows/Linux/macOSに対応。 2016年6月28日
0845デフォルトの名無しさん (スププ Sdb8-WTZK)
2016/12/16(金) 19:33:08.33ID:2fwYBe0Xdプログラマーのスキル次第だよ
0846デフォルトの名無しさん (ワッチョイ 34cb-rqOZ)
2016/12/17(土) 20:24:02.58ID:qwypf80K0Cora!何ねぼけたこと言ってんだ!
0847デフォルトの名無しさん (ワッチョイ a030-0Nmv)
2016/12/17(土) 21:23:42.16ID:iwmBtcKB00848デフォルトの名無しさん (ワッチョイ bf0d-zrF5)
2016/12/19(月) 17:35:36.43ID:alVbxlzl0public void Hoge()
{
int fuga = 0;
//JSだと (function() { fuga++; })(fuga); みたいな書き方
() => {
fuga++;
}
Console.Write(fuga.ToString()); // 1
}
0849デフォルトの名無しさん (ワッチョイ b779-fmwP)
2016/12/19(月) 17:55:39.16ID:C2gHCNQF0(()=>{})()
0850デフォルトの名無しさん (ワッチョイ bf0d-zrF5)
2016/12/19(月) 18:00:28.82ID:alVbxlzl0「メソッド名が必要です」とエラーが出ます。何か間違っているのでしょうか・・・?
http://i.imgur.com/xkxr4EQ.jpg
0851デフォルトの名無しさん (ワッチョイ 9519-qvaQ)
2016/12/19(月) 18:07:22.05ID:/uogIQCg0new Action(() => fuga++)();
((Action)(() => fuga++)))();
0852デフォルトの名無しさん (ワッチョイ bf0d-zrF5)
2016/12/19(月) 18:22:45.50ID:alVbxlzl0できました!
ありがとうございます!
0853デフォルトの名無しさん (アウアウオー Sa36-yl9W)
2016/12/19(月) 18:43:30.73ID:3c7S3m0Fa0854デフォルトの名無しさん (ワッチョイ b779-fmwP)
2016/12/19(月) 18:55:26.87ID:C2gHCNQF0C#はscalaとかjsと違って名前で判別してるんだった
0855デフォルトの名無しさん (ブーイモ MMe5-JvIx)
2016/12/19(月) 19:16:31.85ID:U/zOmskaM今作り直したら確実に無くなるものの筆頭
0856デフォルトの名無しさん (ワキゲー MMe6-qmcu)
2016/12/19(月) 19:24:00.11ID:s6nMQ4X7M0857デフォルトの名無しさん (アウアウオー Sa36-yl9W)
2016/12/19(月) 19:34:56.44ID:3c7S3m0Faそんなわけないでしょw
勘違いはなはだしいな
0858デフォルトの名無しさん (ブーイモ MMe5-JvIx)
2016/12/19(月) 20:16:21.66ID:U/zOmskaM昔はデリゲートなんかほんとにイベントの裏方のカスみたいな存在だったよ
もはや死語となったマルチキャストデリゲートも今じゃありえない設計判断
0859デフォルトの名無しさん (ブーイモ MM8d-Qnvt)
2016/12/19(月) 20:27:48.59ID:Ph61c/PCM0860デフォルトの名無しさん (ワッチョイ 9d23-8I6M)
2016/12/19(月) 20:38:22.46ID:OLcwTH7T0これとprism..Unitiy使い始めると設計が根本から変わわるよね
0861デフォルトの名無しさん (ワッチョイ 35dc-JvIx)
2016/12/19(月) 20:43:17.00ID:t+mkU7Kd0マルチキャストだと戻り値取れないだろ?
後でTaskに乗り換えようとしてもコードが副作用だらけになってて排他処理が必要になるはずだから
置き換えはそう簡単にはいかないだろう
0862デフォルトの名無しさん (ワンミングク MM40-Qnvt)
2016/12/19(月) 20:46:00.65ID:cSqZiFK0M0863デフォルトの名無しさん (ワッチョイ 35dc-JvIx)
2016/12/19(月) 20:50:55.64ID:t+mkU7Kd0それマルチキャスト使う意味ある?
List<Func<>>でいいじゃん
MulticastDelegateをバラすと型情報も無くなるしパフォーマンスも悪い
百害あって一理なし
0864デフォルトの名無しさん (ワッチョイ 2d5b-yrUh)
2016/12/19(月) 22:35:52.95ID:SUXs8zgR0C#の勉強の延長でASPでwebアプリ作ってみようかと思ってるんですがASP.NETでのwebアプリの開発って主流の一つに入るんでしょうか
0865デフォルトの名無しさん (ワッチョイ 35dc-6+SE)
2016/12/19(月) 22:41:34.98ID:t+mkU7Kd0今から始めるならASP.NET MVCにしとけ
無印の方のASP.NET(WebForms)はドカタ技術
0866デフォルトの名無しさん (ワッチョイ 413c-bVUl)
2016/12/19(月) 23:07:17.43ID:MBhcE2/40Webアプリで何がしたいの?
0867デフォルトの名無しさん (ワッチョイ 2d5b-yrUh)
2016/12/19(月) 23:08:48.47ID:SUXs8zgR0ありがとうございます
ASP.NETの知識無しでMVCのほうから入っても問題ないのですか?
0868デフォルトの名無しさん (ワッチョイ 2d5b-yrUh)
2016/12/19(月) 23:13:07.51ID:SUXs8zgR0特に決めてはいないですが、在庫管理やらの業務系が出来ればと考えてます
0869デフォルトの名無しさん (ワッチョイ 413c-bVUl)
2016/12/19(月) 23:20:50.16ID:MBhcE2/40それなら.NET CoreじゃなくてまだFullの.NET Frameworkでいいね
0870デフォルトの名無しさん (ワッチョイ 35dc-6+SE)
2016/12/19(月) 23:53:29.04ID:t+mkU7Kd0別物だから問題ない
.NET開発としてではなく一般的なWeb開発の技術として主流かどうかを気にしてるなら断然MVCの方がいい
いわゆるWebMVCといってWeb開発においては非常に一般的なアーキテクチャを採用してるからな
無印の方はWinFormsのようなものを無理やりWeb上に再現した変態技術だが、
お前らの独自技術はもういいからWebらしいフレームワークが欲しいというニーズに応えて「普通な」MVCができた
0871デフォルトの名無しさん (ワッチョイ 413c-bVUl)
2016/12/19(月) 23:54:58.14ID:MBhcE2/40今どき無印とは言わねーよ
0872デフォルトの名無しさん (ワッチョイ bf49-TtuQ)
2016/12/19(月) 23:57:07.79ID:yUAE2IHm0問題ない。
>>869
いきなりそんなこと言っても何のことだか分からんと思うぞ。
そもそもCoreのこと聞いてないし。
0873デフォルトの名無しさん (ワッチョイ 413c-bVUl)
2016/12/20(火) 00:19:37.86ID:woy83GfY0自分で調べるだろ
わからなけりゃまた聞いてくるだろうし
今から始めるやつはそもそもWeb formsなんか対象にならないだろうから、Coreと比べるのは妥当
0874デフォルトの名無しさん (ワッチョイ 3a13-WTZK)
2016/12/20(火) 01:09:58.52ID:bQKX6Z8E00875デフォルトの名無しさん (スプッッ Sdc8-bVUl)
2016/12/20(火) 02:18:50.01ID:usQ/Ng63d至極まともな考えだと思うが
0876デフォルトの名無しさん (ワッチョイ 35dc-6+SE)
2016/12/20(火) 07:30:35.17ID:wmh5vlKz0このジャップ国でASP.NETに入門しようとしたら平気でWebFormsの情報ばかり出てくるから
とりあえずはそこさえ間違えなきゃいいと思うけどね
いきなりCoreは日本語の情報少なくて厳しいと思う
0877デフォルトの名無しさん (ワッチョイ 2d5b-yrUh)
2016/12/20(火) 07:55:39.72ID:1rO91uPl0みなさんありがとうございます
大変参考になりました。聞いてよかったです
色々出して頂いたものは今から調べてみたいと思います
0878デフォルトの名無しさん (ブーイモ MM8d-3Pgg)
2016/12/20(火) 19:05:30.30ID:ZJa7dsMxM経験の浅い若手を使って業務用システムをサッと作りたいときとかね
もちろん保守は他社がやると見込める時だけだが
0879デフォルトの名無しさん (ワッチョイ 6751-g1cW)
2016/12/22(木) 23:43:30.19ID:GClofaGB0家でも勉強したくてパソコンにVS入れたいのですが、2015をインストールしたら,
Blend2015というのがインストールされました。
無料版ではComminityとExpressがあって、Comminityのほうがおすすめと聞いたのでそっちを入れたかったのですが・・・
Blendとはいったいどういう位置づけになるのですか?
会社ではVisualStudio2013Professionalを使っています。
0880デフォルトの名無しさん (ワッチョイ b749-AD9A)
2016/12/22(木) 23:52:13.67ID:x9LZEgeN0VisualStudioに付いてくるおまけ。
WPFでGUIをデザインするためのツール。
Comminityを入れたんなら、Blendとは別にComminityの方も入ってるだろ。
0881デフォルトの名無しさん (ワッチョイ b749-AD9A)
2016/12/22(木) 23:53:53.81ID:x9LZEgeN00882デフォルトの名無しさん (ワッチョイ 6751-g1cW)
2016/12/23(金) 00:07:02.38ID:eKejh9BS0communityをインストールしようとしたらなぜかBlendになってました・・・。
2015もcommunityありますよね?
ありがとうございます。インストr−ルやりなおしてみます
0883デフォルトの名無しさん (スフッ Sddf-Khx9)
2016/12/23(金) 00:13:03.88ID:nw5SwlgYdアプリケーションの一覧にVisual Studioのフォルダが出来てないか?
0884デフォルトの名無しさん (ワッチョイ 0379-d0Xh)
2016/12/23(金) 00:15:51.67ID:P0PUtLY+00885デフォルトの名無しさん (ワッチョイ b749-AD9A)
2016/12/23(金) 00:19:34.19ID:et7LM/Li0Blendだけ入るって無いと思うけど。両方入っているはず。
落ち着いてメニューをよく見たら。
0886デフォルトの名無しさん (ワッチョイ 73dc-PUH/)
2016/12/23(金) 00:19:39.42ID:Boa5/2YS0ASP.NETとWinFormsだけやっとけばいい
0887デフォルトの名無しさん (ワッチョイ e75e-g1cW)
2016/12/23(金) 00:24:53.07ID:ydrXOK0X0>>882
必ず入っているはず。
むしろBlend版とか知らなくて、そのレス見てからサインインしたw
0888デフォルトの名無しさん (アウアウカー Sa3f-fflT)
2016/12/23(金) 15:03:31.78ID:8qbb8kwia0889デフォルトの名無しさん (ワッチョイ 273c-GTRU)
2016/12/23(金) 15:17:21.07ID:ThcKA0lt0ロードマップでは、ARM対応はQ4 2016 / Q1 2017ってなってた。Samsungが確か頑張ってるはず。
0890デフォルトの名無しさん (アウアウカー Sa3f-fflT)
2016/12/23(金) 17:23:34.06ID:9xVG4ZuTaそうなのね!ありがとう
0891デフォルトの名無しさん (ワッチョイ 6751-g1cW)
2016/12/23(金) 18:46:44.52ID:eKejh9BS0返信ありがとうございます
インストール一覧を調べてみたところcommunityも入っていました
もっと確認すべきでした・・・
どうもありごうございました。
0892デフォルトの名無しさん (ワッチョイ d7ce-agOw)
2016/12/23(金) 21:53:23.45ID:Lyl7nXDN0IDE必要ないからexeビルド環境だけ入るようなオプションない?
0893デフォルトの名無しさん (ワッチョイ efa1-YuIQ)
2016/12/23(金) 22:11:13.66ID:wnG5DWev00894デフォルトの名無しさん (ワッチョイ 4779-d0Xh)
2016/12/23(金) 22:39:52.11ID:6njdFiip0IDE入れないとコンパイラ入れられない言語とかない
0895デフォルトの名無しさん (ワッチョイ 0f7b-SerI)
2016/12/23(金) 22:43:28.69ID:jiSEHcxr0ニコ生で放送しているのか?
よく知らないけど、昨日、#16 がアップされた
0896デフォルトの名無しさん (ワッチョイ e30d-agOw)
2016/12/23(金) 22:46:42.71ID:8ECS/mff00897デフォルトの名無しさん (ワッチョイ 4779-d0Xh)
2016/12/23(金) 22:55:02.72ID:6njdFiip0VSが重くて嫌ならVSCodeおすすめ
0898デフォルトの名無しさん (ブーイモ MM8f-ncxm)
2016/12/23(金) 23:04:29.79ID:gDLxrLVpMしかもゴッテゴテのWPFアプリなのに
0899デフォルトの名無しさん (ブーイモ MM3f-lsSM)
2016/12/23(金) 23:05:50.84ID:MNqe+TxRM0900デフォルトの名無しさん (ワッチョイ f3d6-i5Qz)
2016/12/23(金) 23:09:15.19ID:ejzKG2eK00901デフォルトの名無しさん (ワッチョイ abc0-g1cW)
2016/12/23(金) 23:28:01.18ID:c2xEt3tE00902デフォルトの名無しさん (ワッチョイ 4779-d0Xh)
2016/12/23(金) 23:35:32.33ID:6njdFiip0Eclipseに比べたらかなり軽いよね
JavaとかScalaもVSに対応してほしい
0903デフォルトの名無しさん (ワッチョイ ab3c-g1cW)
2016/12/23(金) 23:36:01.09ID:Fo6fBKop00904デフォルトの名無しさん (ブーイモ MM3f-lsSM)
2016/12/23(金) 23:38:37.93ID:MNqe+TxRM最近のMicrosoftさん頑張りすぎ
ORACLEも少しはMicrosoftを見習ってほしい
0905デフォルトの名無しさん (ワッチョイ 4779-d0Xh)
2016/12/23(金) 23:42:33.40ID:6njdFiip00906デフォルトの名無しさん (ブーイモ MM8f-ncxm)
2016/12/23(金) 23:43:37.75ID:gDLxrLVpMVSの成功が証明してるようにスケーラビリティが高いのは確かだけど、
実際小さなアプリに使うには重いよ
0907デフォルトの名無しさん (ワッチョイ 4779-d0Xh)
2016/12/23(金) 23:45:24.81ID:6njdFiip0Angularとかの自動更新になれるとね
0908デフォルトの名無しさん (ワッチョイ 273c-GTRU)
2016/12/24(土) 00:09:01.03ID:LpJ8AJuF0Cake使えば?
0909デフォルトの名無しさん (ワッチョイ ef9f-h9rX)
2016/12/24(土) 01:10:24.95ID:YCrD1JsG0なんで自信ありそうに言いきってるの?
IDE入れないといけない言語はあるよ
0910デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)
2016/12/24(土) 09:08:23.75ID:dPbQS77J0具体的に何よ?
0911デフォルトの名無しさん (ワッチョイ 73dc-ncxm)
2016/12/24(土) 09:26:43.36ID:3LTJc3r/00912デフォルトの名無しさん (ワッチョイ 8f42-3ZJ0)
2016/12/24(土) 10:07:04.78ID:Uz+bz49d00913デフォルトの名無しさん (アウアウカー Sa3f-a5Nx)
2016/12/24(土) 10:09:16.39ID:VcKJc7+aa0914デフォルトの名無しさん (ワッチョイ 2f23-g1cW)
2016/12/24(土) 11:28:12.62ID:prTI7XBj0昔のVBもDelphiもコンパイラなんだけどw
0915デフォルトの名無しさん (オッペケ Srcf-qdr/)
2016/12/24(土) 13:38:48.90ID:HbE0faQGr0916デフォルトの名無しさん (ワッチョイ 273c-GTRU)
2016/12/24(土) 13:40:12.31ID:LpJ8AJuF0ClickOnce
0917デフォルトの名無しさん (ワッチョイ ef9f-h9rX)
2016/12/24(土) 13:41:59.25ID:yr6q9nVG00918デフォルトの名無しさん (オッペケ Srcf-qdr/)
2016/12/24(土) 13:56:05.59ID:HbE0faQGrそれってオワコンなんじゃないの?
0919デフォルトの名無しさん (ブーイモ MM5f-ncxm)
2016/12/24(土) 14:01:46.96ID:1tLIoM8kMそれを言ったらWinFormsもオワコンだよ
今生きてるのはASP.NETとUWPだけ
0920デフォルトの名無しさん (ワッチョイ abc0-g1cW)
2016/12/24(土) 14:03:16.98ID:a9e/NRk300921デフォルトの名無しさん (ワッチョイ 379d-i5Qz)
2016/12/24(土) 14:23:05.13ID:2536g+Dg00922デフォルトの名無しさん (ワッチョイ 2f23-g1cW)
2016/12/24(土) 14:35:55.93ID:prTI7XBj00923デフォルトの名無しさん (ワッチョイ e33c-IeCC)
2016/12/24(土) 15:17:55.11ID:hhClfuXq0しかも複数の並列処理で同一のコントロール(TextBox1.text)
に同時に書き込めるようにしたいです(書き込む順番はきにしません)
あとそれぞれの並列処理を無限ループで繰り返し処理を行いたいと
思っております。
どなたか教えてください。どうぞよろしくお願いします
0924デフォルトの名無しさん (オッペケ Sref-AvAH)
2016/12/24(土) 15:19:37.36ID:JBAVj1Vvr無能と言うか変化について行けない頭固い人だね。
所謂老害かな。
0925デフォルトの名無しさん (ワッチョイ 273c-GTRU)
2016/12/24(土) 15:20:33.37ID:LpJ8AJuF0その要件を簡単に実現できる方法が他にない。
0926デフォルトの名無しさん (オッペケ Sref-AvAH)
2016/12/24(土) 15:21:12.81ID:JBAVj1Vvrasync, await 一択。
0927デフォルトの名無しさん (ワッチョイ 8f13-i5Qz)
2016/12/24(土) 15:21:23.94ID:XrRMaYjq0たとえば?
0928デフォルトの名無しさん (ワッチョイ d7ce-agOw)
2016/12/24(土) 16:08:14.24ID:yMvVW4sX0System.Windows.Forms.Control.Invoke経由で書き込むだけ
0929デフォルトの名無しさん (ブーイモ MM5f-ncxm)
2016/12/24(土) 16:10:19.44ID:RJkhT4CTMワーカースレッドから好き勝手にGUI触るとカオスになるから、Producer-Consumerで分離すれば?
複雑なことをやるならGUIからではなくデザイン(見た目じゃないよ)から入る作り方も覚えていったほうがいい
0930デフォルトの名無しさん (ワッチョイ 8f13-0LB+)
2016/12/24(土) 16:17:45.91ID:cCwHGfM40これだな
0931デフォルトの名無しさん (ワッチョイ 73dc-ncxm)
2016/12/24(土) 16:27:12.97ID:3LTJc3r/0悪いけど、今時WPF推しとかそれこそ老害だと思うぞ
立ち止まって周りを見てみろ
0932デフォルトの名無しさん (ワッチョイ b77b-g1cW)
2016/12/24(土) 16:28:09.91ID:YD9ZIllA00933923 (ワッチョイ e33c-IeCC)
2016/12/24(土) 17:08:45.84ID:hhClfuXq0自分なりに調べて以下の通りつくってみました
「3秒まってコンソールに文字列を出力する」という処理を並列で動作させたかったのですが
どうもそれぞれの処理が単体で実行されるだけで並列処理になっていないようです。
以下の処理を並列で実行できるようにするにはどうすればよろしいでしょうか?
private async void button1_Click(object sender, EventArgs e)
{
while (true)
{
await Task.Run(() => Thread.Sleep(3000));
Console.WriteLine("タスク完了");
}
}
0934デフォルトの名無しさん (オッペケ Srcf-qdr/)
2016/12/24(土) 17:10:58.57ID:HbE0faQGr>>925
>>920
そっかあ
面倒だけど自作するか…
もうおっさんだからWinForm以外習得できん
0935デフォルトの名無しさん (オッペケ Srcf-qdr/)
2016/12/24(土) 17:12:35.93ID:HbE0faQGrあれ…記憶にないけどインストールしてあったw
まあアップデータは自作になるか…
0936デフォルトの名無しさん (ブーイモ MM3f-TACi)
2016/12/24(土) 17:21:30.45ID:Jrqe8RRjMその例は
「3秒まってコンソールに文字列を出力する」
ってタスクを無限個作りたいのん?
最初は2個にしておけば?
0937923 (ワッチョイ e33c-IeCC)
2016/12/24(土) 17:33:48.36ID:hhClfuXq0はいそうです
2個でも問題ありません。
簡単なサンプルとか頂ければ大変助かります
大変恐縮ですがどうぞよろしくお願い致します
0938デフォルトの名無しさん (オッペケ Sref-AvAH)
2016/12/24(土) 17:39:03.48ID:JBAVj1Vvr> 以下の処理
これが意味不明だけど。
十分並列にはなってる。
0939923 (ワッチョイ e33c-IeCC)
2016/12/24(土) 17:52:32.66ID:hhClfuXq0そうなんですね。ご指摘ありがとうございます。
ただ私の想定としては、「3秒待って出力」という処理を
複数同時に開始したいと思っておりました
ですがコンソールに出力されるタイミングは3秒おきに1処理分しか
出力されず、非同期処理と変わらない処理となっているような気がします
上で示したサンプルがわかりづらくて申し訳ありませんが
タスクは2個でも3個でも同時並列で処理できれば問題ありません
大変恐縮ですがご教示頂ければと思います
0940デフォルトの名無しさん (ワッチョイ 3b3a-a3YU)
2016/12/24(土) 18:00:04.01ID:kAw8XX2k0void TaskTest() {
Task.Run(async () => {
await Task.Delay(3000);
Console.WriteLine(DateTime.Now);
});
Task.Run(async () => {
await Task.Delay(3000);
Console.WriteLine(DateTime.Now);
});
}
0941923 (ワッチョイ e33c-IeCC)
2016/12/24(土) 18:29:36.15ID:hhClfuXq0ありがとうございます!
ちなみにテキストボックスなどに内容を出力することって出来ますでしょうか?
これらの処理をりようして
TextBox1.Textに内容を出力する処理をそれぞれのタスクに追加すると
エラーになってしまうようです。
お手数おかけしますがよろしくおねがいします。
0942デフォルトの名無しさん (ワッチョイ 8f13-0LB+)
2016/12/24(土) 18:40:47.89ID:cCwHGfM40>>928
0943923 (ワッチョイ e33c-IeCC)
2016/12/24(土) 18:41:21.02ID:hhClfuXq0async Task<string> TaskTest()
{
await Task.Delay(3000);
return "a";
}
private async void button1_Click(object sender, EventArgs e)
{
while (true)
{
TextBox1.Text += await TaskTest();
Application.DoEvents();
}
}
0944923 (ワッチョイ e33c-IeCC)
2016/12/24(土) 18:51:54.77ID:hhClfuXq0ありがとうございます。
ただやっぱり並列にはなりませんでした・・・
なにがまちがってるんでしょうか・・・?
while (true)
{
await Task.Factory.StartNew(() =>
{
Invoke((MethodInvoker)(() =>
{
Thread.Sleep(3000);
TextBox1.Text += "a";
}));
});
}
0945デフォルトの名無しさん (ワッチョイ 7f94-4hBO)
2016/12/24(土) 19:04:14.66ID:iV5eYun00Parallel使って10個ずつくらいに制限して、
TextBoxへの書き込みにはProgressを使うとこんな感じ
private void button1_Click_1(object sender, EventArgs e)
{
IProgress<string> progress = new Progress<string>(text =>
{
TextBox1.Text += text;
});
Task.Run(() =>
{
while (true)
{
Parallel.For(0, 10, i =>
{
System.Threading.Thread.Sleep(3000);
progress.Report("a");
});
}
});
}
0946923 (ワッチョイ e33c-IeCC)
2016/12/24(土) 19:13:46.70ID:hhClfuXq0お手数おかけして申し訳ありませんでした
0947923 (ワッチョイ e33c-IeCC)
2016/12/24(土) 20:17:57.50ID:hhClfuXq0おかげさまで仕事がはかどりました
改めてありがとうございました。
ただ、ソースをよく読んでみると
Parallel.Forというのがあるので
Task使わなくても問題なさそうですね
(C#歴は1ヶ月程度なので違ってるかもしれませんが)
0948デフォルトの名無しさん (ブーイモ MM3f-TACi)
2016/12/24(土) 20:23:51.87ID:Jrqe8RRjMProgressなんてクラスが居たのね。こいつは捗りそう。
0949デフォルトの名無しさん (ワッチョイ 7f94-4hBO)
2016/12/24(土) 20:25:53.45ID:iV5eYun00Parallelは完了まで自スレッドをロックしてしまう
(つまり、並列ではあるけど非同期ではない)ので
UIスレッドをフリーズさせないためにはTaskとの併用が必要
0950923 (ワッチョイ e33c-IeCC)
2016/12/24(土) 20:51:06.97ID:hhClfuXq00951デフォルトの名無しさん (アウアウカー Sa3f-qibb)
2016/12/24(土) 21:56:05.36ID:AwL0H4eka0952デフォルトの名無しさん (ワッチョイ ab3c-g1cW)
2016/12/24(土) 22:01:11.57ID:LTc/wMbf0ここに世界中の天才が集まってるのかとと思うわ
0953デフォルトの名無しさん (ワッチョイ bfcb-oYiN)
2016/12/25(日) 19:11:38.15ID:liHUAEex00954デフォルトの名無しさん (ワッチョイ e33c-IeCC)
2016/12/26(月) 00:25:16.13ID:0WzKTwBd0例えば現在時刻が13:30以降の時のみtrueを返すような時ってどうすればいいですか?
0955デフォルトの名無しさん (ワッチョイ 8f13-7bim)
2016/12/26(月) 00:35:44.64ID:TE+B1lbE0これでどう?
var now = DateTime.Now;
var time = new DateTime(now.Year, now.Month, now.Day, 13, 30, 0);
return time <= now;
0956デフォルトの名無しさん (ワッチョイ 7f94-4hBO)
2016/12/26(月) 00:46:35.20ID:+7V9eNZX0TimeSpan referenceTime = new TimeSpan(13, 30, 0);
return DateTime.Now.TimeOfDay >= referenceTime;
0957デフォルトの名無しさん (ワッチョイ 3bc9-DLF2)
2016/12/26(月) 00:54:59.31ID:AQNPYjTP0((DateTime.Now.Hour == 13 && DateTime.Now.Minute >= 30) || DateTime.Now.Hour > 13)
じゃいかんのか
0958デフォルトの名無しさん (ワッチョイ e33c-IeCC)
2016/12/26(月) 01:08:14.89ID:0WzKTwBd00959デフォルトの名無しさん (ワッチョイ 379d-i5Qz)
2016/12/26(月) 02:19:47.23ID:CIVIxVtu01回のif文でNowを複数回参照して、Nowが全部同じ値だという保証はあるのかな?
0960デフォルトの名無しさん (ワッチョイ 8f13-0LB+)
2016/12/26(月) 02:47:24.74ID:TE+B1lbE0ないよ
0961デフォルトの名無しさん (ブーイモ MM5f-TACi)
2016/12/26(月) 12:35:23.91ID:cti1899cM0962デフォルトの名無しさん (ワッチョイ 2f23-g1cW)
2016/12/26(月) 13:03:53.01ID:Bu04EBir00963デフォルトの名無しさん (ワッチョイ 8f42-lvdU)
2016/12/26(月) 14:07:19.56ID:UJaB3lV200964デフォルトの名無しさん (スフッ Sddf-0LB+)
2016/12/26(月) 14:13:47.94ID:qgo+g5wcdウダウダ悩んでるおまえ等が信じられんわw
0965デフォルトの名無しさん (アウアウオー Saff-iGc/)
2016/12/26(月) 14:18:36.34ID:1bhMGPyja0966デフォルトの名無しさん (JP 0Hef-g1cW)
2016/12/26(月) 14:24:40.84ID:E1wmt4rJHPCの内蔵タイマーの時刻でいいんかとか
タイムゾーンはどうなんかとか
0967デフォルトの名無しさん (ワッチョイ 837b-DNID)
2016/12/26(月) 14:38:43.61ID:G2ewta8d00968デフォルトの名無しさん (ワッチョイ 63a4-zpPG)
2016/12/26(月) 17:15:25.72ID:faSaUmiF0TextBox1にフォーカスが移動したら、TextBox2を表示してそちらにフォーカスを移動します。
TextBox2から別のところにフォーカスが移動したらTextBox2を非表示にしたいです。
TextBox1のEnter時に
TextBox2.Visible = true;
TextBox2.Select();
と書き、TextBox2のLeave時に
TextBox2.Visible = false;
と書きました。実行してみるとTextBox2が点滅して消えてしまいます。
調べてみるとLeave時の処理が3回実行されているようで、さらに
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.gotfocus(v=vs.110).aspx
Doing so can cause your application or the operating system to stop responding.
フォーカスの設定をするなと書いてあるようです。
最悪、透明なボタンでも設置して無理矢理実現するしかないのかなと考えていますが、
フォーカス取得時に別のテキストボックスに移動することはできませんか?
0969デフォルトの名無しさん (ワッチョイ e30d-agOw)
2016/12/26(月) 17:20:02.90ID:uTypYcaG0まさか制限盛りだくさんのUWPとか言わないよな?
0970デフォルトの名無しさん (アウアウオー Saff-iGc/)
2016/12/26(月) 17:31:38.03ID:1bhMGPyjaなぜそんなアホなことをしたいの?
たぶん実現したい何らかの使用に対して君が思いついた方法がそれなんだどうけど
どう考えてもその方法は間違ってるから最終的にどういう仕様を実現したいかを
書いた方がいいと思うよ
0971デフォルトの名無しさん (ワッチョイ 0fba-i5Qz)
2016/12/26(月) 17:31:53.92ID:ejLfwHLb0追及してやると主張が C#駄目 Windows駄目 デスクトップアプリ駄目 のどれかに変わる。
0972デフォルトの名無しさん (ワッチョイ abc0-g1cW)
2016/12/26(月) 17:36:34.58ID:BQIvjtl90今その条件で作れと言われたら迷わずWPF選びたいけど、俺社環だとForm選ばざるを得ないのが辛い
0973デフォルトの名無しさん (ワッチョイ c33c-v5hB)
2016/12/26(月) 17:44:50.42ID:bXBxzWjM0あるある
0974デフォルトの名無しさん (ワッチョイ 63a4-zpPG)
2016/12/26(月) 17:46:33.22ID:faSaUmiF0郵便番号を入力する部分のテキストボックスを7つに分けたのですが、
入力時には1つにしたほうが入力しやすいだろうと思いました。
LabelにするとTabでフォーカスを受け取れないので連続で入力しにくいかなと思ったり、
そもそも郵便番号をわざわざ分けているのは、入力フォームを画像にして裏に貼り、
入力イメージが掴めるようにしようかなと思った次第ですが、別のテキストボックスに
入力させてそれをプレビューしちゃだめというわけでもないので出来ないのであれば
入力とプレビューをわけようと思いますが、テキストボックスがフォーカスを受け取ったら
バトンパスのように他のテキストボックスに移動するというのは出来ないのかなと思って質問しました。
0975デフォルトの名無しさん (ワッチョイ c33c-v5hB)
2016/12/26(月) 17:56:43.50ID:bXBxzWjM0この時点でおかしいだろ(困惑)
0976デフォルトの名無しさん (ワッチョイ 7f94-4hBO)
2016/12/26(月) 18:15:12.11ID:qJ+YWzR60嫌がらせにしかならない気が…(どうやって入力してもらうの…)
郵便番号の枠のイメージで1文字ずつの入力にしたいというのなら
1文字しか入力できないテキストボックスを7つ配置して、
入力されたら次に飛ぶ、文字が消されたら前に飛ぶ、みたいに作るのがいいのでは
0977デフォルトの名無しさん (アウアウオー Saff-iGc/)
2016/12/26(月) 18:28:31.17ID:1bhMGPyjaハガキや封書の〒記入欄の見た目に似せたいってことかもしれんけど、
そんなくだらない仕様を諦めるわけにいかないの?
ありがた迷惑なだけでメリットないと思うけど
郵便番号を入力するUIなんて割と多いけどそんなヘンテコな仕様見たことないよw
0978デフォルトの名無しさん (ワッチョイ d7ce-agOw)
2016/12/26(月) 19:05:18.45ID:/iMD3zus0指定桁だけ入力し終わったら次のテキストボックスに移動したいのかな
TextChangedとSelectNextControlかな
0979デフォルトの名無しさん (ワッチョイ 2f23-g1cW)
2016/12/26(月) 19:38:22.72ID:Bu04EBir0Cのライブラリ使ったりDataGridが何とかなりそうなら、UWPも悪くない選択肢だよ
コントロールも標準で沢山ついてくるしtoolkitも充実している
0980デフォルトの名無しさん (ワッチョイ 2f23-g1cW)
2016/12/26(月) 19:43:38.71ID:Bu04EBir0これからも使いそうなら作っちまえよ
0981デフォルトの名無しさん (ワッチョイ 5394-4hBO)
2016/12/26(月) 19:52:33.70ID:5v43Qgq70>TextBox2から別のところにフォーカスが移動したらTextBox2を非表示にしたいです。
というのは、入力しようとすると別途用意された入力フォームが開く、みたいなUIを模したいのかなぁ
とりあえず >>968 はこれで実現できる
private void TextBox1_Enter(object sender, EventArgs e)
{
new Task(() =>
{
TextBox2.Visible = true;
TextBox2.Select();
})
.Start(TaskScheduler.FromCurrentSynchronizationContext());
}
フォーカスイベントの連鎖から独立した別スレッドからUIスレッドに指示を出すので
>set focus from within the Enter, GotFocus, Leave, LostFocus, Validating, or Validated event handlers
には当たらないと思う
0982デフォルトの名無しさん (JP 0Hcf-Qa15)
2016/12/26(月) 20:00:08.21ID:K98gijPEH話を思い出した
0983デフォルトの名無しさん (ワッチョイ 0fba-i5Qz)
2016/12/26(月) 20:14:39.87ID:ejLfwHLb0プログラミング需要のある程度の割合を企業内ユースが占めていると思うけど、
そういう用途じゃわざわざUWPなんて使わんよな。せいぜいWinRT。
さらに、今の時点だとまだWindows7を無視できないから結局FormsかWPFってところじゃない?
0984デフォルトの名無しさん (ワッチョイ 9faf-pRKv)
2016/12/26(月) 21:10:56.35ID:yrQs6qFs0欲しいソフトがあるときはWindowsはストアで探すよりも検索してベクターなり窓の社なりから探してくる人が多いし
0985デフォルトの名無しさん (ワッチョイ c33c-v5hB)
2016/12/26(月) 21:25:19.92ID:bXBxzWjM0海外はどうか知らんが
0986デフォルトの名無しさん (ワッチョイ e30d-agOw)
2016/12/26(月) 22:27:21.69ID:uTypYcaG00987デフォルトの名無しさん (アウアウオー Saff-iGc/)
2016/12/26(月) 23:49:51.33ID:nUdM+QKma個人的には2chくんだりで「いつも誰かと戦ってる」タイプの人のいうことは真に受けない方がいいと思うけどねw
それは彼がそんなくだらないことをするのか、その動機を考えれば自明だよね
俺個人としてはこの記事(すでに古い記事だけど)のタイトルがすべてだと思う
https://www.infoq.com/jp/articles/Win8-LOB-Options
Windows Formが終わってるのと同程度にはWPFも終わってる
かといってプランCも存在しない
0988968 (ワッチョイ 736e-gQz9)
2016/12/26(月) 23:57:39.10ID:Z8alzA0s0おとなしく入力とプレビューを分けるようにします。
>>981は明日にでも試してみようと思います。
0989デフォルトの名無しさん (ワッチョイ 8f7b-YyGO)
2016/12/27(火) 01:33:51.84ID:SOm/Nt9E00990デフォルトの名無しさん (ワッチョイ 5394-4hBO)
2016/12/27(火) 02:10:31.58ID:HrGPkQcW0ふらっと C#,C♯,C#(初心者用) Part126
http://echo.2ch.net/test/read.cgi/tech/1482772061/
0991デフォルトの名無しさん (ワッチョイ dfcb-vcjl)
2016/12/27(火) 02:44:38.87ID:Ue0MWe8H0どなたか私に教えていただけないでしょうか?
よろしくお願いします
0992デフォルトの名無しさん (ワッチョイ 73dc-PUH/)
2016/12/27(火) 07:15:38.67ID:CsLSwhzy00993デフォルトの名無しさん (ワッチョイ 4791-t+3N)
2016/12/27(火) 14:02:51.16ID:DjR8onEe0どうすればいいですか?
0994デフォルトの名無しさん (ワッチョイ dfcb-vcjl)
2016/12/27(火) 14:19:39.59ID:Ue0MWe8H0ご回答ありがとうございます
私の言葉が足らなかったようですみません
twitterのタイムラインをwebbrowserで表示するのではなくtwitterのAPIを使いツイートの情報を受け取りそれらをtwitterのタイムライン風に表示したいと考えております
0995デフォルトの名無しさん (ワッチョイ 2b94-4hBO)
2016/12/27(火) 14:40:14.00ID:+TUrL10Q0CurrentCellDirtyStateChangedかCellValueChangedイベントハンドラで
int offset = dataGridView.Rows.GetRowCount(DataGridViewElementStates.Displayed) / 2;
int current = dataGridView.CurrentCell.RowIndex;
dataGridView.FirstDisplayedScrollingRowIndex = Math.Max(0, current - offset);
スクロール量はoffsetの値に+-して調整
0996デフォルトの名無しさん (ワッチョイ 4791-t+3N)
2016/12/27(火) 16:50:37.42ID:DjR8onEe0なるほどオフセットと現在の位置で動かすのですか
思い通りにできましたありがとうございます
0997デフォルトの名無しさん (ワッチョイ bf4c-hHku)
2016/12/27(火) 17:06:23.75ID:8I0GRdm600998デフォルトの名無しさん (ワッチョイ 8f7b-YyGO)
2016/12/27(火) 23:13:31.51ID:YmRmCI2N00999デフォルトの名無しさん (ワッチョイ 4f17-YQ1g)
2016/12/27(火) 23:58:49.99ID:tR2ogx2701000デフォルトの名無しさん (ワッチョイ 379d-i5Qz)
2016/12/28(水) 00:23:32.44ID:gZZUj22C010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 80日 2時間 50分 6秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。