[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/01 10:26 / Filesize : 178 KB / Number-of Response : 1013
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 12:02:50.03 ID:845Zva4M.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part122
echo.2ch.net/test/read.cgi/tech/1468078489/

■関連スレ
C#, C♯, C#相談室 Part91
echo.2ch.net/test/read.cgi/tech/1467142749/

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

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/

830 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 11:58:57.99 ID:/ZdwISov.net]
>>819
なにやりたいのかわからないけど前半と後半を分ければ聞くほどのことでもないだろうに
aがプラスかマイナスかって判断して
if (a > 0) { }
前回のaより小さければ
if (a < a1) { } //a1は前回のa

831 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:08:40.37 ID:1DdymLLZ.net]
{..., -3, -2, -1, 0, 1, 2, 3, ...} と 正の整数 n を渡されたとき
n が 3 なら
{..., 0, 1, 2, 0, 1, 2, 0, ...} を計算する式を教えて下さい

リングバッファのインデックスを負数に対応させたいのが動機です

832 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:12:52.84 ID:7J5GfyuY.net]
>>823
普通に % 3 で 3 の剰余をとるんでいいんでないの?
配列まるごとやりたいってことかな

833 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:17:19.28 ID:7J5GfyuY.net]
ってC#は絶対値最小剰余なのか、、うーん

834 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:33:33.15 ID:/oRCvZgG.net]
何言ってるのかよく分かんないなあ
もっと要件を数学的に定義できんの?w

配列を別の配列に変換したいのか、それともリングバッファのインデックスを
一つ進める/戻すメソッドが欲しいのかさっぱり分からん。

835 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:33:57.64 ID:gUASh279.net]
(n % 3 + 3) % 3

836 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 13:51:04.86 ID:1DdymLLZ.net]
>>827 で上手くいきました
ありがとうございます

837 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 14:18:11.23 ID:/oRCvZgG.net]
>>827はエスパーか
でもnを別の意味で使ってるところが意地が悪いなw

838 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 14:41:28.74 ID:rnVSSJUo.net]
VSで、あるオブジェクトの中のプロパティ内に「string型の'hoge'という文字列」が格納されてるかどうやって探すの?
WebBrowserオブジェクトにサイトページ読み込ませて中身探りたいんだけど、ブレイクポイントで止めて
オブジェクト内をちまちま探してるんだが膨大すぎて探しきれない



839 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 14:52:03.88 ID:WKOlrh2r.net]
ブレイクポイントってことは開発時なんだよな
IEでそのページ開いて開発者ツールのDOM Explorerで検索した方が早くない?

840 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 16:15:08.57 ID:rnVSSJUo.net]
>>831
まあそうなんだけど、いちいち開発ツールと両方でやるのも面倒なのと、
Cookieとかjsで生成された値が必ずしも同じ値を保持してるわけじゃないんだよね

あと開発ツール側で値が見つかっても、c#のオブジェクト側でどのプロパティに格納されてるかも探したい
プロパティを探すのすら大変なんだ…

841 名前:190 mailto:sage [2016/08/08(月) 17:14:35.66 ID:BpPFt88B.net]
xmlファイルにある、A〜ZまでのデータをDATASETに読み込んで、任意のデータ(例えば、ACDMNZ)をDATAGRIDVIEWに表示させる方法を教えてください。

842 名前:190 mailto:sage [2016/08/08(月) 17:16:49.33 ID:BpPFt88B.net]
途中で書き込んでしました。

前回のSELECETメソッドを使えばいいかなと思ったのですがXMIファイルをすべて読み込んでしまってうまく動作しませんでした。

843 名前:190 mailto:sage [2016/08/08(月) 17:26:58.46 ID:BpPFt88B.net]
dataset.RedXmi(test.xml);
DataRow[] dataRows = dataSet.ables["Table1"].Selec

844 名前:et("#2016/08/01# <= Column1 and Column1 <= #2016/08/031# ")
for(int i =0; dataRows.Length;i++)
{
dataGridView1.DataSource = DataRows;
}
[]
[ここ壊れてます]

845 名前:デフォルトの名無しさん [2016/08/08(月) 18:04:01.70 ID:3Hc67267.net]
>>817
おお、情報ありがとうございます
ローカルの動画ファイルを指定してサムネイルを生成できるみたいですが、
オンラインの動画(http://〜)だと無理っぽいですね・・・惜しい

846 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 19:59:39.78 ID:dgKDPWbr.net]
16進カラーコードから色名に変換する方法はありますか?

847 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 20:01:22.84 ID:KAePj+8Y.net]
>>837
www.atmarkit.co.jp/fdotnet/dotnettips/239colorconv/colorconv.html

848 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 20:07:19.38 ID:dgKDPWbr.net]
>>838
ありがとうございます



849 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 21:43:12.35 ID:iUe2RC+z.net]
>>827
凄いな

850 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:01:10.30 ID:MwP/DwqP.net]
パラレルについて聞きたい
ウィンドウズフォームを使ってコーディングしてる
そのなかでフォームじゃないcsファイル内で片方はそのcsファイル内で、もう片方はフォーム立ち上げて並列処理したいんだけどアドバイスクレメンス

parallel.invoke(
()) => {
//A側の処理
},
()) => {
//B側の処理
Form frm = new Form();
frm.Show();
} );

Aの処理で値が変化していくんだけどある値になるまで
Bのフォーム内でその値を表示し続けたい
ただ値をうまく反映する方法がない
値はint型のなんかと思ってくれれば良いので…

851 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:20:47.96 ID:4wAqez6C.net]
>>841
Parallelは同じ処理を並列でやるためのものなので
そういうのはTaskの仕事
frm.Show();
await Task.Run(() => {
 while (値 != ある値) {
  値 = なんか処理();
  frm.BeginInvoke((Action)(() => {
   frm.値を表示(値);
  }));
 }
});
frm.完了したよ();

852 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:24:01.31 ID:4EpZ/mMx.net]
>>842
showで開いた後に、その中で並列にされるのか!
やってみる

853 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:29:09.79 ID:4EpZ/mMx.net]
あれコードを書いていただいて申し訳ないんだが
Showを開いたらそこで止まらないだろうか
イメージとしてはプログレスバーをそこで開きたいんだ
進み具合を

854 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:33:49.45 ID:4wAqez6C.net]
>>844
Showは止まらない
止まるのはShowDialog

855 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:35:18.57 ID:RTJ7AFUW.net]
>>845
まじか
モーダレスとモーダルの違いだけだと思ってた
地味にかっこいい Showは止まらない
awaitに線が引かれる悲しい

856 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:41:55.73 ID:robrIdsq.net]
>>846
メソッドにasync修飾子を付けないとawaitは使えないよ

857 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:45:51.02 ID:RTJ7AFUW.net]
>>847
まさかそんなことが
一応それっぽくはなったけどもリアルタイム性が出てこない…

858 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:52:39.12 ID:RTJ7AFUW.net]
とりあえず出来ました
ありがとう
ただ範囲外のも並列されている形になってしまった…



859 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 00:06:14.07 ID:W0CalsaA.net]
どんな形なんだよ

860 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 00:10:53.44 ID:e2AB2aAp.net]
>>850
本来この処理が終わってから別フォームCが立ち上がるのですが
プログレスバーが出てくるまでは良くそのままフォームCも立ち上がるようになりました…
そのためプログレスバーよりも前に出たり
あまり望ましくない完全なリアルタイムの処理に…

完全に処理を終わらせてから(上記ではAです)
Cのフォームを立ち上げたかったのですが…
処理順序としては

mainでCをShowDialogで呼ぶ

Cのコンストラクタで>>841の処理をする関数を呼ぶ

並列処理+残り処理数をプログレスバーで表示

終わり次第Cが立ち上がる

こうしたかったです

861 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 00:26:02.73 ID:L97BkT5P.net]
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/2a723e51-2f6f-440b-811f-ccd629c6846f

これ見てると弱参照を使用するのが賢い気がするけど、
すぐGCで回収されちゃうだろうから弱参照の実装に手間かけても旨味ないのかな?

862 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 00:51:25.88 ID:e2AB2aAp.net]
>>851
mainってのは一番はじめのフォームってことです
ログインフォームがあってそのフォームからイベントでCが呼ばれます

863 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:02:46.51 ID:L89qxkLm.net]
>>851
こういう感じはどうかな?
public FormC()
{
 InitializeComponent();
 Task.Run(() =>
 {
  FormB frmB = new FormB();
  frmB.Show();
  //なんか処理
  frmB.Close();
 }).Wait();
}

864 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:15:07.80 ID:e2AB2aAp.net]
>>854
わざわざありがとう
質問ばかりですまないがこの形式だと
//なんか処理ってところでAにあたる部分をさせるんだと思うんだけども
それだと並列はどこに出てくるのだろうか…
FormBに反映ができない気がして

865 名前:デフォルトの名無しさん [2016/08/09(火) 01:23:56.16 ID:mCEAgHsh.net]
というかTask.Runの中ってUIスレッドじゃなくない?
こういう場合はいいんだっけか

866 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:24:18.12 ID:L89qxkLm.net]
>>855
>>842のラムダ式の部分と同じようなので良くない…かな?
(Task内でインスタンスを作ってるので BeginInvokeの必要がなくなるけど)
Bって、C起動までの進捗報告だけのフォームかと思ったけど、そうじゃないのかな…

867 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:26:02.14 ID:L89qxkLm.net]
>>856
Task内で生まれたFormにとってはTaskの実行されてるスレッドが自分のUIスレッド
…だと思うw
一応、ProgressBar動作させて実験したし…

868 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:35:37.24 ID:e2AB2aAp.net]
>>857
まさに言われてるように進捗報告だけのフォームです
Aが100回回るとしたらその残りをプログレスバーで表示させる的な感じです

プログラムを明日試してみたいと思います。
ただちょっとわけあってコンストラクタには入れにくいので別のとこに組み込んでみる…

俺の中では>>842では「whileが抜け出すまでフォームもやり続けるよ。ある値になったら抜けるよ」って意味で
2個のタスクのみが動くものだと思ってるのだけど合ってるのかな…?
そしてmainのタスク(while)が終わるまでそこで処理が止まる…ってなると思っていたけども、
どうやらその先に勝手に進んでいるみたいでtaskが三つ以上あるように見えて



869 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:46:06.06 ID:L89qxkLm.net]
awaitは別スレッドでの処理を待っててくれるけど、元スレッドの処理は止めない。
ここ↓がわかりやすいと思う
非同期メソッド入門 (2) - async修飾子とawait演算子 - xin9le.net
blog.xin9le.net/entry/2012/07/19/002126

Task.Waitは非同期処理の完了まで元スレッドをブロックする
(今回はこっちの方がよさそうだけど、実はデッドロックの危険もある↓)
async/await 〜非同期なライブラリは楽じゃない〜 - 飽きっぽい人のブログ@qwerty2501
qwerty2501.hatenablog.com/entry/2014/04/24/235849

ちょうど今自分も非同期処理を勉強中だったんだ…
お役に立てば

870 名前:デフォルトの名無しさん [2016/08/09(火) 01:49:02.08 ID:eE ]
[ここ壊れてます]

871 名前:75C0zQ.net mailto: 質問です
XmlNodeReaderやStreamWriterはusingで囲めるためリソースを破棄することができますがXmlDocumentではできません

XmlDocumentのLoadメソッドでファイルを読みだした後、違うコンストラクタでStreamWriterを使い再度ファイルを呼び出そうとしたところ、そのファイルは別のプロセスで使われているとエラーを吐いてしまいます

この二つには関係があるのでしょうか?
また、XmlDocumentのリソースを破棄する方法はないのでしょうか?
[]
[ここ壊れてます]

872 名前:デフォルトの名無しさん [2016/08/09(火) 04:15:50.72 ID:mCEAgHsh.net]
>>861
StreamとかTextReaderを受け取るオーバーロードを使って、StreamとかReaderの方をusingで閉じれば
https://msdn.microsoft.com/ja-jp/library/system.xml.xmldocument.load(v=vs.110).aspx

873 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 07:19:44.22 ID:HRQ9KN0P.net]
>>851
こうすれば?
public FormC() {
 this.Visible = false;
}
async void FormC_Load() { //CのLoadイベントハンドラ
 frmB.Show();
 await Task.Run(() => {
  //>>842と同じ
 });
 frmB.Close();
 this.Visible = true;
}
UIスレッドは常にシングルスレッドで絶対にブロックしないように作るのが
HTML/JS、Android、iOS、UWPなど今時の標準的なGUIプログラミングのスタイルなので、
夏休みに勉強でプログラミングしてるんなら時代遅れのWinFormsを使う場合でも慣れといた方がいいよ
ShowDialogやDoEventsは使わない

874 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 07:47:57.18 ID:ToL5aceR.net]
Form1のListViewをそのままForm2のLstViewにも表示させたいのですがどうやればいいのでしょうか?

875 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 07:56:39.38 ID:hbabIC8y.net]
>>860
>>863
お二人方長々とありがとう
頑張って作ってみるよ
お察しの通り夏休みで勉強中です

同期・非同期などもまだまだ学ぶことが多いなと実感中です
どれが止まってどれが動いてってのがなかなかわからないからコーディングしまくるしかないね

お二人方はFormCのロードでタスクrunさせることを言われてるけども
これはここでするのが必須ってことで良いんだよね
>>860で「 awaitは別スレッドでの処理を待っててくれるけど、元スレッドの処理は止めない。」「
Task.Waitは非同期処理の完了まで元スレッドをブロックする 」と
言っているのがこのタイミングでのRunに当たるのかなと読み取った
呼び出し先でないと少しタイミングの合わないものが存在するので
そこをどうにか出来ないかとあれこれやってみます

876 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 09:26:34.60 ID:eypRXuHG.net]
タスクじゃなくてスレッドじゃね?
ただうまくコード書けんかったわ俺には

877 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 10:48:51.25 ID:j/Q51pNB.net]
>>863
お二方の試させていただいたけど
やはり処理待ちをしてくれない…何故なんだろ

878 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 11:39:23.68 ID:BU0WPlE5.net]
loadでタイマーイベント起こして、
そのイベントで待ち処理をしてみては。



879 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 11:39:51.75 ID:bJX8y2k6.net]
>>867
後続(にするつもり)の処理はどこに書いてるのよ?

880 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 12:22:19.05 ID:3FV3+BA1.net]
LINQでズバリ↓をやりたいのですが
うまく動きません

[C#]DataGridViewから,指定した条件に合うデータをLINQで取得する
nanoappli.com/blog/archives/2331


DataGridViewRow に型変換できねーぞ
キャストしろよゴルァ

って感じのメッセージが出るんですが、あのソースは正しいのでしょうか。

881 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 12:44:32.93 ID:To3JSt2U.net]
ToString
Toint32

882 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 13:05:24.59 ID:LeDvruj5.net]
>>870 こうかな?
IEnumerable<DataGridViewRow> rowList = null;
rowList =
 dgv.Rows.Cast<DataGridViewRow>()
 .Where(row =>
  row.IsNewRow == false &&
  row.Cells["ColKey"].Value.ToString() == keyValue);

883 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 13:41:41.36 ID:Lgzk2fEI.net]
>>867
非同期はタイミング次第で、うまく行ったり行かなかったりする

処理A、処理B と書いても、
Aではキューに入れるだけで、Bが先に処理されたり、

逆に、Aでキューに入れられたものが、Bより先に、すぐに消化されてしまったり

884 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 16:41:52.99 ID:r97uYqz/.net]
WinFormで、フォームを常にアクティブにしておく方法ってありますでしょうか?
一時的に他のソフトを立ち上げても、WinFormが常にアクティブの状態(キー入力を受け付ける状態)にしたいです。
もしくは、WinFormがアクティブで無くてもキー入力は受け付ける様にしたいです。
よろしくお願いします。

885 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 16:49:23.12 ID:lpBcjy/9.net]
>>874
言ってる事が矛盾してるような気がするけど、それはともかく
ホットキーで検索してみた?

886 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 16:54:41.34 ID:NuLrqlAG.net]
>>874
キー入力はフォーカスがあたっていないと受け付けない
だからフォームをTopMost=trueにしてキー入力を受けるコントロールにFocus()するとか工夫するしかないんじゃないかな
MouseEnterでFocus()するとか
>>875
使うキーが決まっているのならそっちの方が確実だろうな

887 名前:デフォルトの名無しさん [2016/08/09(火) 16:55:30.72 ID:CkRClEjI.net]
キーロガーの機能ですね。できますよ。

888 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:17:44.81 ID:r97uYqz/.net]
>>875
グローバルフックとかは試してみたけどうまくいかなくて、ホットキーは初耳でした。
勉強してみます。

>>876
TopMostではうまく行きませんでした。
常に最前列に表示はされるのですが、アクティブなフォームが変わるとフォーカスが消えてしまって入力出来ませんでした。
使うキーは決まっているので、もう少し勉強してみます。



889 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:21:06.54 ID:NuLrqlAG.net]
>>878
TopMost=trueだけだとフォーカスはあたらないしフォームにFocusしてもキー入力は受けられない
TopMost=trueするのは常に表示させるため。コントロールにFocusしないと

890 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:35:43.36 ID:r97uYqz/.net]
何度もすいません。
>>875
ホットキーってキー1つでも出来ますでしょうか?
サンプルを見るとCtrlやAltと組み合わせた場合ばかりで・・・。
RegisterHotKey(this.Handle, HOTKEY_ID, (int)Keys.Enter);
みたいに、キー1つでも出来ますでしょうか?

>>877
GetAsyncKeyStateは簡単そうですが、使う時ってタイマーで常に回していないとダメでしょうか?

>>879
コントロールにフォーカスが無いとキー入力をしても意味が無いのはわかります。
一度アクティブでは無くなっても、コントロールにFocusする方法ってありますでしょうか?

891 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:37:44.38 ID:BU0WPlE5.net]
自分アプリケーションだけで終わる話なので、
キーダウン/キーアップをメインフォームに通知するだけで良いと思います。
下手にキー操作を全部取るとセキュリティ的にそのアプリは使いたくなくなります。

892 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:43:37.54 ID:1y7DBS0u.net]
目的がよーわからんけどLLフックも視野に入れたほうが・・・

893 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:46:10.93 ID:AJ2CLbue.net]
>>880
2つ目と3つ目は似たようなことだと思うよ
アクティブでなくなると反応を受けなくなるんだからタイマーなどで自発的に入力情報などを取りに行くしかない
常にアクティブにしてフォーカスが来るように考えたほうがいいんじゃない?

894 名前:デフォルトの名無しさん [2016/08/09(火) 17:48:53.93 ID:mCEAgHsh.net]
グローバルキーボードフックが上手くいかなかった理由を解消した方が早いだろ
馬鹿か

895 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 18:50:53.84 ID:cjmyDJ6c.net]
リッチテキストボックスに+=でコメント追加するのに、上から追加していく方法ありますか?

896 名前:デフォルトの名無しさん [2016/08/09(火) 19:09:34.62 ID:UK97IaF1.net]
そんなセマンティクス断固無視みたいな操作できるわけねーだろ

897 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:38:47.93 ID:snE3xX4a.net]
会社でvar禁止令がでそうなんだけど、その理由が可視性が悪いからとかお前らエディタ使ってるのかよと・・・

898 名前:デフォルトの名無しさん [2016/08/09(火) 19:44:17.53 ID:CkRClEjI.net]
書き方によってはバグが隠れてソースからは発見できないだろ、この初心者が。
それともおまえはvarがあるたびにいちいちマウスカーソル移動させて型を確認するのか?



899 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:59:42.55 ID:rTlnm3J6.net]
varがだめならdynamicがあるじゃない

900 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:05:48.72 ID:A+GvPbuv.net]
>>888
型間違っていたら、直下でオブジェクト使うところでエラーになるだろうに

901 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:07:28.21 ID:JS0TrNVx.net]
varが駄目ならTがあるじゃない

902 名前:デフォルトの名無しさん [2016/08/09(火) 20:13:09.44 ID:CkRClEjI.net]
>>890
ならないパターンがいくらでもあるだろ。違うクラスで同じメソッド名なんて腐るほどある。
後ろで.ToString()使って終わりなら手抜きテストなら簡単にパスしてしまう。

何が最悪ってvarやLINQ使いたがる奴ほどテストを端折る。コードを端折るような奴だからな。>>887 たとえばこいつ。禁止理由はおまえだよw

903 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:13:28.75 ID:h+7CEzP0.net]
抗議しろよ

904 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:19:30.96 ID:s9poePNg.net]
>>892
よお老害

905 名前:デフォルトの名無しさん [2016/08/09(火) 20:22:06.73 ID:CkRClEjI.net]
>>894
市ね、糞カギ。

906 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:22:42.86 ID:mk3kxjVQ.net]
まーたlinq不要おじさんが暴れてるのか

907 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:26:10.67 ID:AJ2CLbue.net]
質問に関係ない愚痴とか言い争いは他でやれよ

908 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:26:11.26 ID:h+7CEzP0.net]
ラムダなんていらねー
linqなんていらねー
浮動小数点数なんていらねー



909 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:26:38.67 ID:h+7CEzP0.net]
はい、誘導w!
echo.2ch.net/test/read.cgi/tech/1469538912/

910 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:30:09.33 ID:Nsm2mWMo.net]
>>869
関数を呼び出してその中で書いてます
クラスファイルの中です

>>873
キューとかそのようなものは消化してないですが内部的にあるんですかね
呼び出しを行った関数自体が処理ストップしてくれず

とりあえずアクションなにもできないようにして対処しました

911 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:53:14.65 ID:HfoI5GBD.net]
Taskで別のスレッドを動かすとき、Thread.Abort()の様に停止させる方法はありませんか?
無限ループを使ってテストしているのですが、キャンセルをかけても処理がずっと続いてる様子です。

912 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 21:12:22.02 ID:BU0WPlE5.net]
var htmlString = stringBuffer.ToString();
var htmlObjects = HtmlObjectParser.Parse(htmlString);
dataSender.Send(htmlObjects);

htmlStringはToStringなんだからString型だが、
htmlObjectsは一体何か分からん。←これが問題か否か

dataSender.Sendの実装が、ISendableを実装している引数を取るのなら、
ISendableを実装していないオブジェクトを返したらエラーになるのでその時点でわかる(動的に)。

IPostable htmlObjects = HtmlObjectParser.Parse(〜)
なら、静的にエラーになるので早い段階で分かる。

913 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 21:17:07.89 ID:A+GvPbuv.net]
>>901
c#ではCancellationTokenSourceってのが用意されていて
コレを使ってタスクのキャンセルを別のタスクに通知する
詳細は面倒なのでググッてね

914 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 21:34:58.46 ID:HfoI5GBD.net]
>>903
その仕組みを利用してキャンセルをかけても、タスクマネージャを見る限りループが続いている様子です

915 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 21:40:22.90 ID:snE3xX4a.net]
>>904
Cancelメソッドだけで停止させようとしてない?
無限ループをIsCancellationRequested見て抜けるようにすれば処理が残ることは無いと思うけど

916 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 21:42:42.45 ID:3V8v+StG.net]
>>904
つ ThrowIfCancellationRequested

917 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 22:30:34.35 ID:Ulr7R0RZ.net]
>>901が言ってるのは呼び出し先が(バグが原因で)デッドロックしちゃうような場合に
どうするのって話じゃないの?

実際困るんだよねこれ。

918 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 22:44:45.15 ID:HfoI5GBD.net]
>>905-906
それらも試してるのですが、どうも上手く行かないようで

>>907
まさにその通りです



919 名前:デフォルトの名無しさん [2016/08/09(火) 22:58:07.09 ID:mCEAgHsh.net]
TaskをやめてThreadにする
それも嫌ならProcessにする
まともに対処可能なものに対してAbortやTerminateをすべきではないが、まともじゃない相手に律儀に対応しても仕方がないので、使えるものを使え

UWPならMicrosoftを罵倒しながら自棄酒をかっ食らう

920 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 23:12:37.02 ID:nVoDRxsS.net]
そもそもタスクとスレッドの使い分けができてない俺

921 名前:デフォルトの名無しさん [2016/08/09(火) 23:27:59.36 ID:xX1eLGuF.net]
エセ左翼の目的は、わざと突っ込みどころが多い主張をすることで自分たちへ注意を向けさせ、
カルトへ向かう非難の矛先を逸らすこと。
国益に反することを言ったり、主張が食い違うもの同士の対立を煽ろうとするので放置し難いが、
主義思想についての洗脳を受けているわけではなく、フリをしているだけなので、
言い負かされてもダメージを負った様子もなく、論点をすり替えられるかスルーされる。
まともに相手をしてはならない。

922 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 00:18:43.16 ID:tzaz0eYO.net]
変なの来たなw

923 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 00:44:52.26 ID:0FrSD1Xj.net]
>>907
それだけならInterruptで穏便に潰せばいいんじゃね

924 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 16:16:31.49 ID:uO/Tl1Ff.net]
型指定されたデータセットについての質問です。
新しい項目の追加でDataSetを追加し、DataTable1.xsdにてDataTable1を作成しました。
コンポーネントからDataSet11をD&Dで、型指定されたデータセットのプロジェクト名.DataSet1を選択し追加しました。
DataGridViewのDataMenberにはDataTable1を設定し、DataSourceにはdataSet11を設定しました。
Form1_Loadイベントでxmlファイルを読み込むコードを書いたのですが、読み込んでくれません。
ちなみに、型指定のないデータセットだと読み込んでくれます。
エラー文は以下の通りです。
オブジェクト参照がオブジェクトインスタンスに設定されてません。
コードは以下の通りです。

private void Form1_Load(Object sender,EventArgs e)
{
dataSet11.ReadXml("test.xml");
}


お分かりになる方、どこがどう間違っているのか教えてください。

925 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 17:20:06.87 ID:rmou6ft4.net]
>>914
xmlは規定の構造の物なの?
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1039714435

926 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 17:34:29.83 ID:uO/Tl1Ff.net]
>>915
DataGridViewのDataSourceに型指定されてないDataSetを指定し、DataMenberには型指定されてないDataSetのTablesで作成したTable1を指定てます。
あとは、デバッグで起動し、DataGridViewに必要なデータを入力してWiteXmi("test.Xml")で保存したファイルを使用してるので大丈夫ではないでしょうか?

927 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 17:42:10.36 ID:uO/Tl1Ff.net]
ブレークポイントで調べたところ、dataSet11.ReadXml("test.xml");の下に書いてるコードがエラーみたいです。
型指定してない場合はこのコードで通るのですが、なにが間違ってるのでしょうか?


private void Form1_Load(Object sender,EventArgs e)
{
 dataSet11.ReadXml("test.xml");
//レコードの上書き
 dataSet11.Tables["Table1"].AcceptChanges();
}

928 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 17:46:14.15 ID:kg1OJGvs.net]
>オブジェクト参照がオブジェクトインスタンスに設定されてません。
これは出るのは該当オブジェクトがnullの時だろ
>>917
ブレークした時点でdataSet11やdataSet11.Tables["Table1"]がnullになってないか?



929 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 17:48:01.13 ID:uO/Tl1Ff.net]
Table1ではなくdataTable1にしないといけなかったみたいです。
お騒がせしました。

930 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 21:33:56.03 ID:stbfoTV9.net]
excelがある時代にデータベースなんて勉強する意味あるんですか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<178KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef