「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part133
http://mevius.5ch.net/test/read.cgi/tech/1510056685/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part134
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 0f9a-KsIq)
2017/11/29(水) 19:23:58.05ID:GNLsbK4F02デフォルトの名無しさん (ワッチョイ 27e3-RHkz)
2017/11/29(水) 19:31:14.12ID:rMr3voC10 (*゚∀゚)v2get!
3デフォルトの名無しさん (ササクッテロレ Spbd-CjLb)
2017/12/05(火) 12:25:34.83ID:cln+gySGp 今年の夏くらいからプログラミング勉強し始めたけど結局なーんも身についてなくて笑えない
ちょっと応用すれば出来るはずのことも全く同じサンプルがないと何も出来ないし頭の悪い奴ってのはほんとに必要ないなと実感したわ
こんなの身についてるってみんなすげーよ
ほんと尊敬する
ちょっと応用すれば出来るはずのことも全く同じサンプルがないと何も出来ないし頭の悪い奴ってのはほんとに必要ないなと実感したわ
こんなの身についてるってみんなすげーよ
ほんと尊敬する
4デフォルトの名無しさん (ブーイモ MM0a-bGuk)
2017/12/05(火) 12:44:40.61ID:WFyLCtnzM 趣味なら続けてればそのうちできるようになるよ
もし仕事にするつもりだったなら今すぐ考え直したほうがいい
向いてない人が業界入っても生涯最底辺確定だよ
もし仕事にするつもりだったなら今すぐ考え直したほうがいい
向いてない人が業界入っても生涯最底辺確定だよ
5デフォルトの名無しさん (ワッチョイ 6ad2-AEDt)
2017/12/05(火) 12:53:46.29ID:C7A8AnoX0 今振り返るとプログラムを書けると自信を持って言えるようになるまで5年くらいかかった
6デフォルトの名無しさん (ワッチョイ 4a60-CnPo)
2017/12/05(火) 13:17:45.00ID:x6DQdw1l0 はやいね…
7デフォルトの名無しさん (ワッチョイ 6d02-k94u)
2017/12/05(火) 16:30:38.85ID:wkVlcZxF0 レベル2の症状だろ
レベル3になると、実はまだまだヒヨコに過ぎなかったと気づく
レベル3になると、実はまだまだヒヨコに過ぎなかったと気づく
8デフォルトの名無しさん (ササクッテロル Spbd-CjLb)
2017/12/05(火) 23:51:30.36ID:3JpFSBB9p 最近始めたんやけど、ラムダ式がまだまだ身につかんな…
自称プログラマーもまだまだ遠いと感じる
自称プログラマーもまだまだ遠いと感じる
9デフォルトの名無しさん (ワッチョイ 398a-fjL1)
2017/12/06(水) 00:18:23.00ID:NYn2QdoV0 LISPしなされ
10デフォルトの名無しさん (ワッチョイ 8903-8BY9)
2017/12/06(水) 00:27:28.54ID:WT/THAC00 レベル3の症状だろ
レベル4になると、実はプログラマに向いてないって事に気付き始める
レベル4になると、実はプログラマに向いてないって事に気付き始める
11デフォルトの名無しさん (ササクッテロレ Sp8b-1eZt)
2017/12/07(木) 08:25:05.89ID:AtZ2X5K5p VS2015を用いてC#でアプリを作っています
現在テストを行う中でスタブを使おうと考えたのですがどういうものかの記述はしてあっても実装の仕方が見つけられないのでどう実装するべきものなのかアドバイスをお願い致します
なにか決まった構文などがありますか?
スレ違いなら申し訳ありません
現在テストを行う中でスタブを使おうと考えたのですがどういうものかの記述はしてあっても実装の仕方が見つけられないのでどう実装するべきものなのかアドバイスをお願い致します
なにか決まった構文などがありますか?
スレ違いなら申し訳ありません
12デフォルトの名無しさん (スプッッ Sd3f-SaVx)
2017/12/07(木) 08:42:17.58ID:15g2M7EDd >>11
moq
moq
13デフォルトの名無しさん (ブーイモ MMbb-/Bld)
2017/12/08(金) 08:21:40.76ID:PpC6VnTrM >>11
普通に実装するんだよ
たとえばリポジトリクラスをモックするなら、DBの変わりにListやファイルを使うように実装する
Moqみたいなアドホックなモックに頼るのは都合のいい脳内彼女状態になりやすいからお勧めしないな
普通に実装するんだよ
たとえばリポジトリクラスをモックするなら、DBの変わりにListやファイルを使うように実装する
Moqみたいなアドホックなモックに頼るのは都合のいい脳内彼女状態になりやすいからお勧めしないな
14デフォルトの名無しさん (スップ Sd3f-SaVx)
2017/12/08(金) 10:48:33.70ID:MNtGar8nd >>13
頼るんじゃなくて賢く利用するんだよおバカ
頼るんじゃなくて賢く利用するんだよおバカ
15デフォルトの名無しさん (ワッチョイ d714-tojf)
2017/12/08(金) 14:00:50.88ID:qb513BYK0 ゲスい
16デフォルトの名無しさん (ワッチョイ ff9a-StTJ)
2017/12/08(金) 20:43:50.51ID:0wYNAdO3017デフォルトの名無しさん (ワッチョイ 5723-/Bld)
2017/12/09(土) 09:15:02.44ID:BBiO47QN0 >>14
その賢い利用というのが、テストが正しいかどうかはともかく、
なんでもいいからとにかくテストをパスさせて仕事から逃げることを意味するなら積極的にMoqを使うべきだな
プロダクトの機能に対して責任を持つのか、コーディング作業員として単体テストのレビューが通るところまでの責任なのか
プログラマの立場次第であり、絶対的にどちらが正しいとはいえない
その賢い利用というのが、テストが正しいかどうかはともかく、
なんでもいいからとにかくテストをパスさせて仕事から逃げることを意味するなら積極的にMoqを使うべきだな
プロダクトの機能に対して責任を持つのか、コーディング作業員として単体テストのレビューが通るところまでの責任なのか
プログラマの立場次第であり、絶対的にどちらが正しいとはいえない
18デフォルトの名無しさん (ワッチョイ 9fd2-SaVx)
2017/12/09(土) 11:18:08.25ID:ZhOJxZh30 Moqの使い方すら理解できないキチガイがわめいてる
19デフォルトの名無しさん (スップ Sdbf-SaVx)
2017/12/09(土) 11:20:12.53ID:4MNbsZWJd xUnit自体のテストでもMoq使ってんのに何言ってんのこいつ
20デフォルトの名無しさん (ワッチョイ 5723-/Bld)
2017/12/09(土) 11:59:32.42ID:BBiO47QN0 >>19
xunit見てみたけど、内部的な依存関係の差し替えには全く使われてないね
テストツールをテストするという特殊な事情ゆえ、テストには(ユーザーにとっての)テスト対象コードが必要になる
その代わりとして極一部でMoqやNSubstituteが使われてるようだ
賢い使い方の一つだとは思うけど、リポジトリクラスやサービスクラスを差し替えたりするのとは全くの別物と考えるべきかと
xunit見てみたけど、内部的な依存関係の差し替えには全く使われてないね
テストツールをテストするという特殊な事情ゆえ、テストには(ユーザーにとっての)テスト対象コードが必要になる
その代わりとして極一部でMoqやNSubstituteが使われてるようだ
賢い使い方の一つだとは思うけど、リポジトリクラスやサービスクラスを差し替えたりするのとは全くの別物と考えるべきかと
21デフォルトの名無しさん (ワッチョイ ff81-tojf)
2017/12/09(土) 12:06:36.64ID:JB9pjNrg0 またヤバそうなのが湧いてるなw
先週みたいになるのかな?
いやーゴミは世に憚るってホントだね
先週みたいになるのかな?
いやーゴミは世に憚るってホントだね
22デフォルトの名無しさん (ブーイモ MMbf-/Bld)
2017/12/09(土) 12:17:46.40ID:awJ9eWLVM んな大袈裟な
俺は自分の経験(個人・チーム含む)からアドホックなモックは上手くいかないと思ってるけど、
実際に効果的に使われてるケースがあるならぜひ知りたいよ
xUnitのテストなんて超特殊な例じゃなくてもっと適切な例をplz
俺は自分の経験(個人・チーム含む)からアドホックなモックは上手くいかないと思ってるけど、
実際に効果的に使われてるケースがあるならぜひ知りたいよ
xUnitのテストなんて超特殊な例じゃなくてもっと適切な例をplz
23デフォルトの名無しさん (ワッチョイ 9fd2-SaVx)
2017/12/09(土) 12:19:44.13ID:ZhOJxZh30 どうやらUnit TestとIntegration Testの違いさえ理解できないガイジのようだ
24デフォルトの名無しさん (ワッチョイ 97a5-fvxL)
2017/12/11(月) 20:41:46.07ID:f/7OfSkR0 ワイクソ馬鹿
そもそも何のためにスタブとかモックとかがあってどういう時に有用なのか分からない
足りない所を補うみたいなイメージなんだけどプログラムが全部完成してからのテストなら必要ない?
そもそも何のためにスタブとかモックとかがあってどういう時に有用なのか分からない
足りない所を補うみたいなイメージなんだけどプログラムが全部完成してからのテストなら必要ない?
25デフォルトの名無しさん (ワッチョイ d716-tojf)
2017/12/11(月) 21:01:08.81ID:cWpuydkA0 C#関係ねえ
26デフォルトの名無しさん (ワッチョイ 9fd2-SaVx)
2017/12/11(月) 21:02:58.97ID:xzgxDEt/0 >>24
たとえばあるメソッドをテストするとして、テスト目的の箇所以外の依存関係をモック/スタブで差し替えれば、目的のロジックに集中できるしパフォーマンス的にも有利
たとえばあるメソッドをテストするとして、テスト目的の箇所以外の依存関係をモック/スタブで差し替えれば、目的のロジックに集中できるしパフォーマンス的にも有利
27デフォルトの名無しさん (ドコグロ MM4b-45bT)
2017/12/11(月) 21:20:39.43ID:y3IM1v6ZM >>24
例えばテスト対象のメソッドが何らかのAPI呼び出してるとして、そのAPIがエラーを返すケースのテストをする時にスタブを使ってエラーを返したりする
例えばテスト対象のメソッドが何らかのAPI呼び出してるとして、そのAPIがエラーを返すケースのテストをする時にスタブを使ってエラーを返したりする
28デフォルトの名無しさん (ブーイモ MMcf-/Bld)
2017/12/11(月) 21:38:59.51ID:Y2G40TozM >>24
テストしてて、ここ触りたくねえなあデータ用意すんの面倒臭えなあと思うことあるだろ?
正しいかどうかは別にして、とりあえず臭いものに蓋をしたまま手っ取り早くテストを終わったことにして帰宅できる
テストしてて、ここ触りたくねえなあデータ用意すんの面倒臭えなあと思うことあるだろ?
正しいかどうかは別にして、とりあえず臭いものに蓋をしたまま手っ取り早くテストを終わったことにして帰宅できる
29デフォルトの名無しさん (ワッチョイ 9fd2-SaVx)
2017/12/11(月) 21:50:44.91ID:xzgxDEt/0 >>28
あほ
あほ
30デフォルトの名無しさん (ワッチョイ 97a5-fvxL)
2017/12/11(月) 21:54:52.65ID:f/7OfSkR031デフォルトの名無しさん (ワッチョイ 9fd2-SaVx)
2017/12/11(月) 21:57:48.40ID:xzgxDEt/0 >>30
大変だからというか、テスト目的と関係ないAPIやDBアクセスに依存しないようにするため
大変だからというか、テスト目的と関係ないAPIやDBアクセスに依存しないようにするため
32デフォルトの名無しさん (ワッチョイ ff81-tojf)
2017/12/11(月) 22:30:20.58ID:oxZtEftd0 こういう奴らってサーバーがAWSとかGAEのサーバーが503で落ちてる時のテストとかどうやってんの?
DoS掛けて落としてるの?
DoS掛けて落としてるの?
33デフォルトの名無しさん (ワッチョイ 9fd2-SaVx)
2017/12/11(月) 22:32:42.57ID:xzgxDEt/0 >>32
テストしないんだろ
テストしないんだろ
34デフォルトの名無しさん (ブーイモ MMbb-T+jR)
2017/12/12(火) 12:55:00.41ID:IcKwzfnVM サーバーが落ちてる状態をスタブ/モックで再現すればいいんちゃう?
35デフォルトの名無しさん (ドコグロ MMeb-45bT)
2017/12/12(火) 13:38:31.25ID:55mcEBCKM そういう話をしてるんだが...
36デフォルトの名無しさん (ワッチョイ d716-tojf)
2017/12/12(火) 14:04:29.84ID:/mkMVrEb0 ニホンゴムズカシイネ
37デフォルトの名無しさん (ワッチョイ 97a5-1g/A)
2017/12/12(火) 22:16:10.60ID:TlJgX2b/0 プログラミング始めたてなんだけど、CSVファイルの先頭何行を無視してそれ以外のデータをデータベースに入れたいって状況になったんだけど、経験者の人はめっちゃ簡単だよって言ってて、
でも俺には全く想像もつかなくて、プログラミング出来る人の頭の中はほんとどうなってるんだ…
やっぱみんなもこれくらいのコード書くのは楽勝なの?
でも俺には全く想像もつかなくて、プログラミング出来る人の頭の中はほんとどうなってるんだ…
やっぱみんなもこれくらいのコード書くのは楽勝なの?
38デフォルトの名無しさん (ワッチョイ b781-9VJ3)
2017/12/12(火) 22:19:09.90ID:lT+kB2MF0 >>37
一瞬でアルゴ思いつくけど、おまえやばくね?
一瞬でアルゴ思いつくけど、おまえやばくね?
39デフォルトの名無しさん (ワッチョイ 97a5-1g/A)
2017/12/12(火) 22:23:02.58ID:TlJgX2b/040デフォルトの名無しさん (ワッチョイ ff9a-StTJ)
2017/12/12(火) 22:33:48.31ID:CW11BSat0 >>37
テキストの数行をスキップするのならすぐできるだろ。それがCSVになるだけ
CSVのパーサーについては
https://dobon.net/vb/dotnet/file/readcsvfile.html
にいくつもやり方が乗っている
ネットで調べればC#初心者でもできる案件
テキストの数行をスキップするのならすぐできるだろ。それがCSVになるだけ
CSVのパーサーについては
https://dobon.net/vb/dotnet/file/readcsvfile.html
にいくつもやり方が乗っている
ネットで調べればC#初心者でもできる案件
41デフォルトの名無しさん (ワッチョイ 9fd2-LLtl)
2017/12/12(火) 23:21:09.16ID:5Qo60rlq0 いっぺんに全部やろうとするんじゃなくて、小さい作業に分解して考えるんだよ
今回なら「先頭数行を無視してテキストファイル読み込む」にCSVは関係ないでしょ?まず欲しい分だけ読み込んで、CSVとしてパースするのはその後に考えればいい
ググって出てくるくらいまで分解すれば、あとは組み合わせておしまい
今回なら「先頭数行を無視してテキストファイル読み込む」にCSVは関係ないでしょ?まず欲しい分だけ読み込んで、CSVとしてパースするのはその後に考えればいい
ググって出てくるくらいまで分解すれば、あとは組み合わせておしまい
42デフォルトの名無しさん (ワッチョイ ff9a-StTJ)
2017/12/12(火) 23:28:56.01ID:CW11BSat0 >>41
>今回なら「先頭数行を無視してテキストファイル読み込む」
要素内に改行がある場合(めったにないが)を想定しなきゃならないので先にパーサーを通す必要がある
元の要件が「CSVファイルの先頭何行を無視して」だから
>今回なら「先頭数行を無視してテキストファイル読み込む」
要素内に改行がある場合(めったにないが)を想定しなきゃならないので先にパーサーを通す必要がある
元の要件が「CSVファイルの先頭何行を無視して」だから
43デフォルトの名無しさん (ワッチョイ 9fa4-jOus)
2017/12/13(水) 00:33:52.07ID:dUmCylYF0 >>42
この場合、先頭数行はヘッダーでcsvじゃないのでは
この場合、先頭数行はヘッダーでcsvじゃないのでは
44デフォルトの名無しさん (ドコグロ MMdf-45bT)
2017/12/13(水) 07:16:49.88ID:55R6yVv7M まずは
・CSV の先頭になんかワケわからん行がくっついてる
のか
・CSV のデータを何件か読み飛ばす
のかをはっきりしろって話だわな
・CSV の先頭になんかワケわからん行がくっついてる
のか
・CSV のデータを何件か読み飛ばす
のかをはっきりしろって話だわな
45デフォルトの名無しさん (ワッチョイ 3703-ZqID)
2017/12/13(水) 07:25:32.55ID:Iqcr0fg80 どうせ読み飛ばすんだからどっちでもええやろそんなもんw
46デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/22(金) 02:36:25.35ID:agnD/jLFa 向こう使い終わったな
47デフォルトの名無しさん (スププ Sd1f-U61R)
2017/12/22(金) 04:56:06.32ID:6xfAUU/Sd ここ数日ここ見てたんだが自称上級者様がドヤ顔してるだけのスレだな
48デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/22(金) 06:19:42.32ID:agnD/jLFa49デフォルトの名無しさん (ワッチョイ 6302-+TNz)
2017/12/22(金) 09:45:16.77ID:Vx5ddxy90 ワードサラダボーイがいないスレ
50デフォルトの名無しさん (ガックシ 067f-Iw9I)
2017/12/22(金) 09:53:06.84ID:8f8y8qIA6 それは何ですか?
51デフォルトの名無しさん (ワッチョイ 9306-buzn)
2017/12/22(金) 09:55:25.36ID:oR3DRk2W0 会計システムはクラサバが最低限の要件なので、計算はDBでやるからクラス分けなど何の役にも立たないし却って邪魔だ
彼はクラサバと無縁なスタンドアローンの世界に住んでいるのかもしれんね
彼はクラサバと無縁なスタンドアローンの世界に住んでいるのかもしれんね
52デフォルトの名無しさん (ブーイモ MM27-bebx)
2017/12/22(金) 10:08:25.66ID:2CqGXpCvM スタンドアロンだとして、どういうデータ設計したら費用項目ごとにクラスができるんだろうね
日付, 費用種別コード, 金額
まさかこんなタプルで管理してるんだろうか
日付, 費用種別コード, 金額
まさかこんなタプルで管理してるんだろうか
53デフォルトの名無しさん (ワッチョイ ffb3-6aYH)
2017/12/22(金) 10:17:07.48ID:sp7ymsVp0 自称上級者様ご降臨〜 w
54デフォルトの名無しさん (ブーイモ MM27-vkjg)
2017/12/22(金) 10:23:52.41ID:lyRs/gAjM そ、ギョーミーな戦場ではオブジェクト指向などと言う玩具の武器は役に立たない
55デフォルトの名無しさん (ワッチョイ ffd2-Xao7)
2017/12/22(金) 10:26:29.36ID:xQ825djR0 >>54
いまだにこんな老害がいるからね
いまだにこんな老害がいるからね
56デフォルトの名無しさん (ブーイモ MM27-vkjg)
2017/12/22(金) 10:32:48.81ID:lyRs/gAjM 何をいっておる、LinqもLambdaも戦場の小火器として使えるが腐ったオブジェクト指向など使えぬわ
57デフォルトの名無しさん (ワッチョイ 634b-Iw9I)
2017/12/22(金) 10:56:00.35ID:pMoYdCae0 関数型がいいって言いたいの?
58デフォルトの名無しさん (ブーイモ MM27-vkjg)
2017/12/22(金) 10:59:19.90ID:lyRs/gAjM 腐ったオブジェクト指向脳で単純なものを複雑にするヤツが大嫌いなだけ
59デフォルトの名無しさん (ワッチョイ cfe8-7LW1)
2017/12/22(金) 11:05:05.39ID:oEPXElot0 結局個人的感情か
毎回レスの最後に ※個人の感想です って付けとけよ
毎回レスの最後に ※個人の感想です って付けとけよ
60デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/22(金) 11:10:42.54ID:cOtumJc5a61デフォルトの名無しさん (ブーイモ MM27-vkjg)
2017/12/22(金) 11:11:28.05ID:lyRs/gAjM オブジェクト指向は過去の遺物
62デフォルトの名無しさん (ワッチョイ 6f9e-rt3g)
2017/12/22(金) 12:24:49.48ID:4JyKqZfo0 >>61
じゃあ今流行りは何?
じゃあ今流行りは何?
63デフォルトの名無しさん (ガックシ 067f-Iw9I)
2017/12/22(金) 12:29:43.88ID:E5w5T/306 大きなスケール→ガチガチのオブジェクト指向
小さなスケール→手続き型、関数型
小さなスケール→手続き型、関数型
64デフォルトの名無しさん (ワントンキン MM9f-OPDc)
2017/12/22(金) 12:35:16.71ID:3WJNmOAXM 名前、住所、電話番号、みたいなデータがあったとして、
Aさんの住所を参照するのに、["A"]的なアクセスするやつ、なかったでしたっけ?
Aさんの住所を参照するのに、["A"]的なアクセスするやつ、なかったでしたっけ?
65デフォルトの名無しさん (ワッチョイ ffb3-6aYH)
2017/12/22(金) 12:41:08.55ID:sp7ymsVp0 >>64
Dictionaryでいいんじゃね?
Dictionaryでいいんじゃね?
66デフォルトの名無しさん (ガックシ 067f-Iw9I)
2017/12/22(金) 12:47:31.71ID:E5w5T/30667デフォルトの名無しさん (アウアウウー Sa67-bqMz)
2017/12/22(金) 13:06:22.96ID:4dlvq16La >>64
そういう仕組みはインデクサという
そういう仕組みはインデクサという
68デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/22(金) 19:32:54.21ID:w6Zu6k6M0 ボタンを押すと処理を緊急停止するプログラムを作りたいのですがどのような方法がありますでしょうか?
69デフォルトの名無しさん (ワッチョイ cf9a-RBuR)
2017/12/22(金) 19:39:03.10ID:Ta4DCaCP070デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/22(金) 19:46:47.55ID:w6Zu6k6M0 今はbackgroundWorkerで処理を実行しているのですが
CancelAsync()で停止させても
if (backgroundWorker1.CancellationPending)
{
e.Cancel = true;
return;
}
というコードに到達するまで停止しないので停止までに時間があるのを改善したいです
このコードをたくさん差し込むしかないのでしょうか?
CancelAsync()で停止させても
if (backgroundWorker1.CancellationPending)
{
e.Cancel = true;
return;
}
というコードに到達するまで停止しないので停止までに時間があるのを改善したいです
このコードをたくさん差し込むしかないのでしょうか?
71デフォルトの名無しさん (ワッチョイ cf9a-RBuR)
2017/12/22(金) 19:51:25.63ID:Ta4DCaCP0 >>70
親フォームでkillしたらbackgroundWorkerも止まるんじゃないの?
親フォームでkillしたらbackgroundWorkerも止まるんじゃないの?
72デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/22(金) 19:53:12.14ID:w6Zu6k6M0 どういうことでしょう
あらゆる処理をForm1に書いていまして
killの仕方がわからないです
あらゆる処理をForm1に書いていまして
killの仕方がわからないです
73デフォルトの名無しさん (ワッチョイ cf9a-RBuR)
2017/12/22(金) 19:59:46.81ID:Ta4DCaCP0 backgroundWorker以外の処理は生かしておきたいって話なら分からないな
>>70
というかキャンセル用のフラグ作って止めなきゃならないところに停止処理差し込むのがそんな大変だとも思えないけど
楽したいってのはわかるけど、それは他の人に聞いて
>>70
というかキャンセル用のフラグ作って止めなきゃならないところに停止処理差し込むのがそんな大変だとも思えないけど
楽したいってのはわかるけど、それは他の人に聞いて
74デフォルトの名無しさん (ワッチョイ c3b3-QXzE)
2017/12/22(金) 20:00:08.26ID:W8xzYPPc0 >このコードをたくさん差し込むしかないのでしょうか?
>あらゆる処理をForm1に書いていまして
まず、設計の仕方を覚えた方が良い
>あらゆる処理をForm1に書いていまして
まず、設計の仕方を覚えた方が良い
75デフォルトの名無しさん (ワッチョイ ff19-vkjg)
2017/12/22(金) 20:10:01.65ID:HDUqSz1r0 >>68
Application.Exit();
Application.Exit();
76デフォルトの名無しさん (ワッチョイ 03c9-buzn)
2017/12/22(金) 20:31:26.17ID:kA+szNzE0 自作プログラムでSemaphoreFullExceptionが発生したんだけど、これってSemaphore使って無くてもTaskやawait使っていれば発生するようなもんなの?
77デフォルトの名無しさん (ブーイモ MM27-bebx)
2017/12/22(金) 20:34:55.44ID:2CqGXpCvM なぜスタックトレースを見ないのか
78デフォルトの名無しさん (ワッチョイ 03c9-buzn)
2017/12/22(金) 20:39:08.36ID:kA+szNzE079デフォルトの名無しさん (アウアウウー Sa67-bqMz)
2017/12/22(金) 20:40:07.26ID:4dlvq16La まあ普通に使い方間違えてバグってんでしょ
80デフォルトの名無しさん (アウアウエー Sadf-HQem)
2017/12/22(金) 20:47:43.11ID:G9MI+OvKa81デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/22(金) 21:17:12.68ID:w6Zu6k6M0 >>80
それ自分です!
それ自分です!
82デフォルトの名無しさん (ワッチョイ cf81-+TNz)
2017/12/22(金) 21:18:00.45ID:UrkxRoCQ0 二度も同じことを聞くんじゃない
83デフォルトの名無しさん (アウアウエー Sadf-HQem)
2017/12/22(金) 21:27:30.25ID:G9MI+OvKa >>81
マジすかw
マジすかw
84デフォルトの名無しさん (ワッチョイ c3b3-QXzE)
2017/12/22(金) 21:30:54.07ID:W8xzYPPc0 わろす
85デフォルトの名無しさん (ワッチョイ ffd2-VulL)
2017/12/22(金) 21:46:10.24ID:Kw0QQsKg0 潔くてすき
86デフォルトの名無しさん (ワッチョイ 6f9e-rt3g)
2017/12/22(金) 22:28:43.29ID:4JyKqZfo0 backgroundworkerとtaskの違いは何よ?
87デフォルトの名無しさん (ワッチョイ 6f76-5z/u)
2017/12/22(金) 22:41:34.49ID:Iyc/J/sJ0 BackgroundWorkerはレガシー
88デフォルトの名無しさん (ワッチョイ 138d-6js8)
2017/12/22(金) 23:26:00.99ID:vOV0CWVO0 >>81
ここで2回も聞くぐらいなら
やりたいことを英語にしてGoogleで検索した方がいいよ
ここにいる人が知らないか教えないだけで
やり方はちゃんとある
ポーリングとか今どきダサすぎるからやめとけ
ここで2回も聞くぐらいなら
やりたいことを英語にしてGoogleで検索した方がいいよ
ここにいる人が知らないか教えないだけで
やり方はちゃんとある
ポーリングとか今どきダサすぎるからやめとけ
89デフォルトの名無しさん (アウアウエー Sadf-HQem)
2017/12/22(金) 23:41:50.51ID:G9MI+OvKa いやいやないからアホかw
あるなら言ってみ。まあ無理せんでよろしい。
生スレッドは強制終了できるが普通は推奨されない。
あるなら言ってみ。まあ無理せんでよろしい。
生スレッドは強制終了できるが普通は推奨されない。
90デフォルトの名無しさん (アウアウエー Sadf-HQem)
2017/12/22(金) 23:43:22.66ID:G9MI+OvKa そもそも外から強制的に止めるって発想に疑問を持たない時点でセンスがない
91デフォルトの名無しさん (ワッチョイ 6f7f-HrVW)
2017/12/22(金) 23:43:31.65ID:teKS3rfy092デフォルトの名無しさん (ワッチョイ 6f7f-HrVW)
2017/12/22(金) 23:48:36.08ID:teKS3rfy0 CancellationToken.ThrowIfCancellationRequested()使うけど、これもポーリングだしな。
93デフォルトの名無しさん (ワッチョイ 9306-buzn)
2017/12/22(金) 23:54:28.61ID:oR3DRk2W094デフォルトの名無しさん (ワッチョイ 2323-bebx)
2017/12/23(土) 01:24:21.53ID:ti8BrBts0 スリープで時間かかってたり繰り返しスリープ入れてるなら
Interruptを使って無理矢理中断させることもできる
Interruptを使って無理矢理中断させることもできる
95デフォルトの名無しさん (ワッチョイ cf80-fDvV)
2017/12/23(土) 08:12:59.96ID:FPRjmoIB0 >>70
Async が付いている関数は、非同期処理だから、コンテキストが異なる。
だから、処理が実行される順番が確定しない
Sync なら同期処理だから、順番が1つに決まる。
つまり、ソースコードの上から下へ、順に実行される
コンテキストが異なるもの同士が通信するには、プロセス間通信(IPC)を使う。
基本的には、相手のキューに、投入することしかできない
1. 依頼する。A プロセス → OS → B プロセス
2. B が届いたメッセージを処理する
3. 返事する。B プロセス → OS → A プロセス
これを同期処理にすると、1〜3 の処理中、
アプリが止まる(ストール)から、GUI では嫌われる。
50ms 以上掛かる処理は、非同期処理にすべき
逆に、CUI では同期処理にして、コンソールが止まる
Async が付いている関数は、非同期処理だから、コンテキストが異なる。
だから、処理が実行される順番が確定しない
Sync なら同期処理だから、順番が1つに決まる。
つまり、ソースコードの上から下へ、順に実行される
コンテキストが異なるもの同士が通信するには、プロセス間通信(IPC)を使う。
基本的には、相手のキューに、投入することしかできない
1. 依頼する。A プロセス → OS → B プロセス
2. B が届いたメッセージを処理する
3. 返事する。B プロセス → OS → A プロセス
これを同期処理にすると、1〜3 の処理中、
アプリが止まる(ストール)から、GUI では嫌われる。
50ms 以上掛かる処理は、非同期処理にすべき
逆に、CUI では同期処理にして、コンソールが止まる
96デフォルトの名無しさん (ワッチョイ cf81-+TNz)
2017/12/23(土) 08:22:18.86ID:7ZChdQbJ0 このどことなくズレたレスをつける句読点過剰くんってのは、やはり糖質なのだろうか?
97デフォルトの名無しさん (ワッチョイ 2323-bebx)
2017/12/23(土) 08:23:33.88ID:ti8BrBts0 句読点箇条君はすぐわかるな
そして必ず間違ってる
スレッドが違うだけならIPCなんか使う必要ない
普通は単にメモリを共有する
FormsのBeginInvokeなどで使われているSynchronizationContextのキューも普通にメモリを共有してるだけだ
そして必ず間違ってる
スレッドが違うだけならIPCなんか使う必要ない
普通は単にメモリを共有する
FormsのBeginInvokeなどで使われているSynchronizationContextのキューも普通にメモリを共有してるだけだ
9895 (ワッチョイ cf80-fDvV)
2017/12/23(土) 08:24:22.31ID:FPRjmoIB0 つまり、1〜3 は、OS が行っている事だから、何もできる事が無い。
OS レスのマイコンとかなら、自分でプログラミングするけど
何かをしようとしても、OS がCPU のタイムスライス、
プロセスの優先度・実行順番を決めているから、何もできない
それがOS。
OSレスなら、それらを自分でプログラミングしないといけないから、無理
OS レスのマイコンとかなら、自分でプログラミングするけど
何かをしようとしても、OS がCPU のタイムスライス、
プロセスの優先度・実行順番を決めているから、何もできない
それがOS。
OSレスなら、それらを自分でプログラミングしないといけないから、無理
99デフォルトの名無しさん (ワッチョイ 2323-bebx)
2017/12/23(土) 08:45:11.75ID:ti8BrBts0 このアスペは>>97も理解してないんだと思うけど、初心者スレだから改めて否定しておく
スレッドが違うだけなら、>>95の123は正しくはこう
1. スレッドAがジョブの情報Jをメモリ上のキューQに登録する
2. スレッドBはQからJを取り出し、Jの内容に従って処理を実行する
3. Bは処理結果RをキューQ'に登録する
4. AはQ'からRを取り出し、後続処理を実行する
AとBの間で普通にQやQ'を直接共有してるだけで、OSなんか全く関係ない
そもそもマルチスレッドに限った話でもなく、例えば、ゲーム内で2つのキャラクターの間でやり取りしたい、
でも直接メソッドを呼ぶと長くなるとか、間にウェイトを入れたいとかで一旦処理をゲームループに戻したい、なんて時にも使える
スレッドが違うだけなら、>>95の123は正しくはこう
1. スレッドAがジョブの情報Jをメモリ上のキューQに登録する
2. スレッドBはQからJを取り出し、Jの内容に従って処理を実行する
3. Bは処理結果RをキューQ'に登録する
4. AはQ'からRを取り出し、後続処理を実行する
AとBの間で普通にQやQ'を直接共有してるだけで、OSなんか全く関係ない
そもそもマルチスレッドに限った話でもなく、例えば、ゲーム内で2つのキャラクターの間でやり取りしたい、
でも直接メソッドを呼ぶと長くなるとか、間にウェイトを入れたいとかで一旦処理をゲームループに戻したい、なんて時にも使える
100デフォルトの名無しさん (ワッチョイ 6f9f-M1U4)
2017/12/23(土) 10:27:32.58ID:AW7swrGi0 オレオレキューなんぞつかわずにTaskを使え
バックグラウンドといえどインプロセスで長大な処理を発生させるな
そういうのはジョブ管理サービスを使えHangfireとかな
バックグラウンドといえどインプロセスで長大な処理を発生させるな
そういうのはジョブ管理サービスを使えHangfireとかな
101デフォルトの名無しさん (ワッチョイ cf81-+TNz)
2017/12/23(土) 11:10:58.80ID:7ZChdQbJ0 今回はTaskかどうかは問題ではなく
「BackgroundWorkerの処理を中断する方法で、ポーリングより面倒くさくない方法があったら教えて」
なので
Thread.Abortでも使え
「BackgroundWorkerの処理を中断する方法で、ポーリングより面倒くさくない方法があったら教えて」
なので
Thread.Abortでも使え
102デフォルトの名無しさん (ワッチョイ cf81-+TNz)
2017/12/23(土) 11:12:40.52ID:7ZChdQbJ0 Task大好きッ子もなかなかスレの流れ読んでねえよな
103デフォルトの名無しさん (ワッチョイ 6325-Iw9I)
2017/12/23(土) 11:29:15.39ID:m8DTIJvo0 asyncつけてるとエラー発生したらデバッグの実行位置の矢印の動きがおかしくなる
104デフォルトの名無しさん (オイコラミネオ MMff-HtKy)
2017/12/23(土) 11:42:39.57ID:A76YiAtwM RunWorkerCompletedでイベントオブジェクトのフラグをいじり、それを待機とかだめ?
105デフォルトの名無しさん (ワッチョイ 8f33-9Igo)
2017/12/23(土) 12:51:18.15ID:kNBZIa630 Task関連は7標準のランタイムだと使えないからいまだにBackgroundWorker使ってる
まあ他ソフトの事情で.NET 4以降一切入れないってことはないんだけどさ
まあ他ソフトの事情で.NET 4以降一切入れないってことはないんだけどさ
106デフォルトの名無しさん (ワッチョイ 8f33-9Igo)
2017/12/23(土) 13:21:31.65ID:kNBZIa630 自分のBackgroundWorker使ってるソース見てみると、
処理単位でループして1処理終った後と、長い処理の途中でwk.CancellationPending == trueで抜けるか判定してる
イベント待ちはタイムアウト設定して一旦抜ける
という感じだった
Task使っても同じだろう
処理単位でループして1処理終った後と、長い処理の途中でwk.CancellationPending == trueで抜けるか判定してる
イベント待ちはタイムアウト設定して一旦抜ける
という感じだった
Task使っても同じだろう
107デフォルトの名無しさん (ワンミングク MM9f-Px6h)
2017/12/23(土) 13:24:28.81ID:eJOJ1LQ5M @Abortはしたくない
Aメインループのフラグチェックでは頻度が足りない
Bでもフラグチェック処理を書き足すのは嫌だ
要件はこれでいいか?
真面目に考えるとメタプログラミングの領域だな
チェック頻度とパフォーマンスのトレードオフも考えなきゃならん
初心者スレ民の実力では難しいんじゃないか?
Aメインループのフラグチェックでは頻度が足りない
Bでもフラグチェック処理を書き足すのは嫌だ
要件はこれでいいか?
真面目に考えるとメタプログラミングの領域だな
チェック頻度とパフォーマンスのトレードオフも考えなきゃならん
初心者スレ民の実力では難しいんじゃないか?
108デフォルトの名無しさん (ワッチョイ 03c9-buzn)
2017/12/23(土) 13:34:41.82ID:ktMndlca0 >>107
この頻度が足りないって、メインループの記述が冗長とか別の理由ありそうな気がするわ
この頻度が足りないって、メインループの記述が冗長とか別の理由ありそうな気がするわ
109デフォルトの名無しさん (ワンミングク MM9f-Px6h)
2017/12/23(土) 13:41:27.68ID:eJOJ1LQ5M クッソ長いループ書いてんだろうな
マルチスレッドより先に基本的なコード整理術を覚えたほうがいい
マルチスレッドより先に基本的なコード整理術を覚えたほうがいい
110デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/23(土) 13:46:44.49ID:suzKftpB0 たくさんレスありがとうございます。
わからない言葉がたくさんあるので調べてまた来ます。
わからない言葉がたくさんあるので調べてまた来ます。
111デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/23(土) 14:02:46.78ID:suzKftpB0 キーボードをa,b,c,dと順番に5秒置きに押していくメソッドをBackgroundWorker内で無限ループさせていて
キャンセルボタンを押したときすぐに止まって欲しいのですが必ずdまで押されてから止まるので困っているという感じです
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
while (true)
{
play_abcd();
if (backgroundWorker1.CancellationPending)
{
// イベントをキャンセルする
e.Cancel = true;
return;
}
}
}
キャンセルボタンを押したときすぐに止まって欲しいのですが必ずdまで押されてから止まるので困っているという感じです
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
while (true)
{
play_abcd();
if (backgroundWorker1.CancellationPending)
{
// イベントをキャンセルする
e.Cancel = true;
return;
}
}
}
112デフォルトの名無しさん (ワッチョイ 6316-+TNz)
2017/12/23(土) 14:10:55.29ID:saCRURuP0 そりゃそうだろって反応しか返ってこないと思う
113デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/23(土) 14:19:46.07ID:suzKftpB0 キーボードをa,b,c,dと順番に5秒置きに押していってすぐ途中で止められるプログラムを作るには
どういう方法があるんでしょうか?BackgroundWorkerにはこだわりません。
play_abcd()メソッドには押したボタンをtextBoxに表示する機能もあってBackgroundWorkerを使うと
プログラム実行中でもきちんと表示されるのでBackgroundWorkerを使っています
どういう方法があるんでしょうか?BackgroundWorkerにはこだわりません。
play_abcd()メソッドには押したボタンをtextBoxに表示する機能もあってBackgroundWorkerを使うと
プログラム実行中でもきちんと表示されるのでBackgroundWorkerを使っています
114デフォルトの名無しさん (ワッチョイ 6f9f-M1U4)
2017/12/23(土) 14:42:50.03ID:AW7swrGi0 private IEnumerable<Action> GetJobs(int sleepMilliseconds) {
/**/var buttons = new [] { btnA, btnB, btnC, btnD };
/**/while (true) {
/**//**/foreach (var button in buttons) {
/**//**//**/yield return () => button.Click();
/**//**//**/yield return () => Thread.Sleep(sleepMilliseconds);
/**//**/}
/**/}
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) {
/**/while (true) {
/**//**/foreach (var job in GetJobs()) {
/**//**//**/job();
/**//**//**/if (backgroundWorker1.CancellationPending) {
/**//**//**//**/e.Cancel = true;
/**//**//**//**/return;
/**//**//**/}
/**//**/}
/**/}
}
/**/var buttons = new [] { btnA, btnB, btnC, btnD };
/**/while (true) {
/**//**/foreach (var button in buttons) {
/**//**//**/yield return () => button.Click();
/**//**//**/yield return () => Thread.Sleep(sleepMilliseconds);
/**//**/}
/**/}
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) {
/**/while (true) {
/**//**/foreach (var job in GetJobs()) {
/**//**//**/job();
/**//**//**/if (backgroundWorker1.CancellationPending) {
/**//**//**//**/e.Cancel = true;
/**//**//**//**/return;
/**//**//**/}
/**//**/}
/**/}
}
115デフォルトの名無しさん (ワッチョイ c3bb-+TNz)
2017/12/23(土) 14:43:52.99ID:7NR5j+Xf0 play_aとplay_bとplay_cとplay_dを分ける
デリゲート配列にしてforeachで回せばチェックは一カ所で済む
デリゲート配列にしてforeachで回せばチェックは一カ所で済む
116デフォルトの名無しさん (ワッチョイ f381-7LW1)
2017/12/23(土) 14:47:49.51ID:97OmZxF20 メソッドの名前がメンタルに悪い
117デフォルトの名無しさん (ワンミングク MM9f-Px6h)
2017/12/23(土) 14:57:49.84ID:eJOJ1LQ5M 5chはいつになったらGFM対応するんだ
118デフォルトの名無しさん (ワッチョイ 9306-buzn)
2017/12/23(土) 15:46:06.35ID:KAucFFwx0 BackgroundWorkerじゃなくてタイマー使うべきだよ
119デフォルトの名無しさん (アウアウエー Sadf-HQem)
2017/12/23(土) 16:17:28.04ID:Nxx0V5wTa >>111
>>113
>play_abcd()メソッドには押したボタンをtextBoxに表示する機能もあって
ってことはたぶんplay_abcdの中でbackgroundWorker1.ReportProgressを呼んでいる、
つまりbackgroundWorker1を参照できる場所にplay_abcdはあるんだから、
素直にCancellationPendingをポーリングするだけじゃないの?
本当はよくないと思うけどねこういうの
本当は前も書いたみたいにplay_abcdのシグネチャを
void play_abcd(Func<bool> canceled){...}
とかにして、呼び出すときに、
play_abcd(() => backgroundWorker1.CancellationPending);
がいいと思う
っていうか、そもそも
>キーボードをa,b,c,dと順番に5秒置きに押していくメソッド
をビジーループで実弁する必要本当にある?w
それ、タイマーで十分実現できると思うんだけど...
>>113
>play_abcd()メソッドには押したボタンをtextBoxに表示する機能もあって
ってことはたぶんplay_abcdの中でbackgroundWorker1.ReportProgressを呼んでいる、
つまりbackgroundWorker1を参照できる場所にplay_abcdはあるんだから、
素直にCancellationPendingをポーリングするだけじゃないの?
本当はよくないと思うけどねこういうの
本当は前も書いたみたいにplay_abcdのシグネチャを
void play_abcd(Func<bool> canceled){...}
とかにして、呼び出すときに、
play_abcd(() => backgroundWorker1.CancellationPending);
がいいと思う
っていうか、そもそも
>キーボードをa,b,c,dと順番に5秒置きに押していくメソッド
をビジーループで実弁する必要本当にある?w
それ、タイマーで十分実現できると思うんだけど...
120デフォルトの名無しさん (ワンミングク MM9f-Px6h)
2017/12/23(土) 16:39:39.92ID:eJOJ1LQ5M タイマーとかめんどくさいだけだろ
121デフォルトの名無しさん (ワッチョイ 3317-7LW1)
2017/12/23(土) 16:58:02.75ID:oBD8VcBx0 BackgroundWorkerのほうが実装が綺麗になるよね
122デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/23(土) 17:54:59.64ID:433UoltE0123デフォルトの名無しさん (ワッチョイ 6f9e-rt3g)
2017/12/23(土) 18:17:28.09ID:MO+dM8J20 >>121
どう言う理由で?
どう言う理由で?
124デフォルトの名無しさん (ワッチョイ ff06-buzn)
2017/12/23(土) 18:52:05.60ID:vwLvtl/C0 タイマーなら、キャンセルでタイマー止めればそれで終わりでしょ
実装が見苦しいようには見えんね
実装が見苦しいようには見えんね
125デフォルトの名無しさん (ワッチョイ 6f9f-M1U4)
2017/12/23(土) 18:57:13.19ID:AW7swrGi0 ためしに書いてみてよ
126デフォルトの名無しさん (ワッチョイ ff06-buzn)
2017/12/23(土) 19:41:20.88ID:vwLvtl/C0127デフォルトの名無しさん (ワッチョイ 8f9f-9TLc)
2017/12/23(土) 19:47:21.47ID:PvZdk9430 >>113
そもそも、なんで提示したコードがdまで実行しないとキャンセルされないか理解できてる?
理解出来てればBackgroundWorkerを別の手法に変えても意味がないことは分かると思うんだけど
そもそも、なんで提示したコードがdまで実行しないとキャンセルされないか理解できてる?
理解出来てればBackgroundWorkerを別の手法に変えても意味がないことは分かると思うんだけど
128デフォルトの名無しさん (ワッチョイ 6f9d-FmKA)
2017/12/23(土) 20:47:59.87ID:afY4COyy0129デフォルトの名無しさん (ワッチョイ 6302-Iw9I)
2017/12/23(土) 21:18:44.75ID:XrEDpSoU0 バックグラウンドなんちゃらってなんだ?
タイマーでいいじゃん
タイマーでいいじゃん
130デフォルトの名無しさん (ワンミングク MM9f-Px6h)
2017/12/23(土) 21:19:57.12ID:eJOJ1LQ5M131デフォルトの名無しさん (ワッチョイ 6302-Iw9I)
2017/12/23(土) 21:21:13.92ID:XrEDpSoU0132デフォルトの名無しさん (ワッチョイ 6302-Iw9I)
2017/12/23(土) 21:26:21.49ID:XrEDpSoU0 タイマーでもTickイベントを1秒おきにすればその実装できるし
while+sleepとかアホすぎるわ
while+sleepとかアホすぎるわ
133デフォルトの名無しさん (ワンミングク MM9f-Px6h)
2017/12/23(土) 21:29:55.10ID:eJOJ1LQ5M >>131
推測でしかないが質問者のやりたい事ってAPIが提供されてないアプリのGUIオートメーションだと思うんだ
やってみるとわかるけど、等間隔キー入力の繰り返し、のような単調な操作のほうがむしろレアケースだよ
推測でしかないが質問者のやりたい事ってAPIが提供されてないアプリのGUIオートメーションだと思うんだ
やってみるとわかるけど、等間隔キー入力の繰り返し、のような単調な操作のほうがむしろレアケースだよ
134デフォルトの名無しさん (ワッチョイ 83c3-v9+e)
2017/12/23(土) 21:31:02.84ID:YgD70bUC0 態々スレッド分ける様な処理じゃないのは間違いない
135デフォルトの名無しさん (ワッチョイ 6302-Iw9I)
2017/12/23(土) 21:33:38.79ID:XrEDpSoU0 バックグラウンドワーカーとかタイマーじゃなくてTask.Runの中にwhileとsleepとカウンタを全部ねじ込んだほうががまとまりがいいな
136デフォルトの名無しさん (ワッチョイ 6302-Iw9I)
2017/12/23(土) 21:37:57.32ID:XrEDpSoU0 やっぱなんでもない
俺のレスはスルーで
俺のレスはスルーで
137デフォルトの名無しさん (ワッチョイ 3317-7LW1)
2017/12/23(土) 21:39:10.88ID:oBD8VcBx0 相変わらず質問者抜きの議論が大好きだなお前らは
138デフォルトの名無しさん (ワンミングク MM9f-Px6h)
2017/12/23(土) 21:42:59.27ID:eJOJ1LQ5M ちなみに>>114の実装ならマクロが多少複雑化しても可読性がそこそこ良いのでオススメ
IEnumerable<Action> GetJobs() {
while (true) {
yield return () => SendKeys("A");
yield return () => Sleep(5000);
yield return () => SendKeys("B");
yield return () => Sleep(2000);
yield return () => SendKeys("ハゲ");
yield return () => Sleep(3000);
yield return () => SendKeys("C");
yield return () => Sleep(5000);
yield return () => SendKeys("D");
yield return () => Sleep(5000);
}
この考え方を進化させてJobsをActionの列挙ではなく式木にしたら記述が楽そうだな、とかインタープリターパターンで実装したらユーザー目線で便利そうだな、とか発展していく
IEnumerable<Action> GetJobs() {
while (true) {
yield return () => SendKeys("A");
yield return () => Sleep(5000);
yield return () => SendKeys("B");
yield return () => Sleep(2000);
yield return () => SendKeys("ハゲ");
yield return () => Sleep(3000);
yield return () => SendKeys("C");
yield return () => Sleep(5000);
yield return () => SendKeys("D");
yield return () => Sleep(5000);
}
この考え方を進化させてJobsをActionの列挙ではなく式木にしたら記述が楽そうだな、とかインタープリターパターンで実装したらユーザー目線で便利そうだな、とか発展していく
139デフォルトの名無しさん (ワッチョイ cf81-+TNz)
2017/12/23(土) 22:13:16.73ID:7ZChdQbJ0 百万年発展し続けてろバーカ
140デフォルトの名無しさん (ワンミングク MM9f-Px6h)
2017/12/23(土) 22:20:22.98ID:eJOJ1LQ5M 初心者用スレというか子供用スレだったのか
141デフォルトの名無しさん (ワッチョイ cf80-fDvV)
2017/12/23(土) 22:36:15.16ID:FPRjmoIB0 非同期処理は、コンテキストが異なるから、処理の実行順番は確定しない
ビジーループするのは、もってのほか。
ビジーループは同期処理
非同期処理は、コールバック関数を使う。
相手の処理が終わったら、コールバック関数を呼んでもらう
コンテキストが異なるものは、マルチスレッド・マルチプロセスでも、
OS がCPU のタイムスライス、スレッド・プロセスの優先度・実行順番を決めているから、
プログラマーができる事は無い
複数のスレッド・プロセスは、無関係に同時に、異なるCPU で動く(並行処理)から、
処理時間が短くなるが、処理の実行順番は、OS が決めるから確定しない
同期処理とは異なる
ビジーループするのは、もってのほか。
ビジーループは同期処理
非同期処理は、コールバック関数を使う。
相手の処理が終わったら、コールバック関数を呼んでもらう
コンテキストが異なるものは、マルチスレッド・マルチプロセスでも、
OS がCPU のタイムスライス、スレッド・プロセスの優先度・実行順番を決めているから、
プログラマーができる事は無い
複数のスレッド・プロセスは、無関係に同時に、異なるCPU で動く(並行処理)から、
処理時間が短くなるが、処理の実行順番は、OS が決めるから確定しない
同期処理とは異なる
142デフォルトの名無しさん (ワッチョイ ff06-buzn)
2017/12/23(土) 23:00:34.49ID:vwLvtl/C0 一番の問題は、最悪5秒戻ってこないポンコツってことだと思う
143デフォルトの名無しさん (ワンミングク MM9f-Px6h)
2017/12/23(土) 23:04:50.10ID:eJOJ1LQ5M 結論はやっぱりTask使えって事だな
144デフォルトの名無しさん (ワッチョイ cf80-fDvV)
2017/12/23(土) 23:31:47.43ID:FPRjmoIB0 そもそも、ビジーループ(ポーリング)しても意味がない
例えば、スレッドA から、10ms 毎にポーリングしても、
スレッドB の処理が10秒掛かれば、千回のポーリングは無意味
ポーリングしても、異なるスレッドの処理を速めることはできない。
OS がCPU のタイムスライス、スレッド・プロセスの優先度・実行順番を決めているから
プログラマーにできることは、コールバック関数を登録することだけ。
スレッドBの処理が終われば、それを呼んでもらうだけ
例えば、スレッドA から、10ms 毎にポーリングしても、
スレッドB の処理が10秒掛かれば、千回のポーリングは無意味
ポーリングしても、異なるスレッドの処理を速めることはできない。
OS がCPU のタイムスライス、スレッド・プロセスの優先度・実行順番を決めているから
プログラマーにできることは、コールバック関数を登録することだけ。
スレッドBの処理が終われば、それを呼んでもらうだけ
145デフォルトの名無しさん (ワッチョイ 6302-+TNz)
2017/12/23(土) 23:34:38.24ID:oRgQl+h80 鈴虫がまだ何か言ってるな
鈴虫は鈴虫の学校にでも通ってな
鈴虫は鈴虫の学校にでも通ってな
146デフォルトの名無しさん (ワッチョイ 8f33-9Igo)
2017/12/24(日) 02:28:49.95ID:BEcZgz8A0 フリーズしない/しても問題ないUIにすればいいだけだと思うが
147デフォルトの名無しさん (ワッチョイ 8f9f-mmj6)
2017/12/24(日) 07:08:55.16ID:kiz3NtEj0 play_abcdって雑な作りから察すると5秒おきってのはaの動作が終わってから5秒なんじゃね?
本当に5秒感覚でキーを押したいならタイマーがいいけど、各動作を5秒感覚で実行したいならタイマーは使わない方がいいかな
本当に5秒感覚でキーを押したいならタイマーがいいけど、各動作を5秒感覚で実行したいならタイマーは使わない方がいいかな
148デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/24(日) 07:21:26.36ID:ZzoS8BMq0 へー、そんなんだ。すごーい。
149デフォルトの名無しさん (ワッチョイ 0353-HtKy)
2017/12/24(日) 07:22:49.50ID:bwNsD4dr0 クリスマスぐらい女と過ごせよ
150デフォルトの名無しさん (アウーイモ MM67-1kTE)
2017/12/24(日) 14:33:03.85ID:WF18n6kNM 2〜3台のPCだけで使う小規模なアプリケーションで、不変で追加もしない500×3列程度のデータを扱いたいです。EXCELでいうvlookup関数みたいな参照を行いたいのですが、EntityFrameworkだとSQLserverのインストールが必要?なため別の方法を模索中です。
csvやtxtファイルを実行ファイルと同じフォルダにいれて参照するのがいいか、もしくは別の方法があればご教示いただきたいです
csvやtxtファイルを実行ファイルと同じフォルダにいれて参照するのがいいか、もしくは別の方法があればご教示いただきたいです
151デフォルトの名無しさん (オッペケ Sr87-0cyC)
2017/12/24(日) 14:33:41.85ID:EoGwjq2qr 朝Hしてきたww
152デフォルトの名無しさん (ワッチョイ ff06-buzn)
2017/12/24(日) 14:39:27.53ID:h6xl/PRx0 >>150
EF知ってるならSQLiteが現実的じゃね?
EF知ってるならSQLiteが現実的じゃね?
153デフォルトの名無しさん (ワントンキン MM9f-Px6h)
2017/12/24(日) 14:40:54.62ID:i8D7y6TzM154デフォルトの名無しさん (ブーイモ MM67-bebx)
2017/12/24(日) 14:44:06.81ID:BNj/0IJ2M 俺ならそんなもん一枚のHTMLとJavaScriptで作ってAWS S3に置くわ
その程度のことにデプロイの手間をかけるのはアホらしすぎる
その程度のことにデプロイの手間をかけるのはアホらしすぎる
155デフォルトの名無しさん (ワッチョイ 6302-Iw9I)
2017/12/24(日) 17:13:18.55ID:LxzgKTLN0156デフォルトの名無しさん (ブーイモ MM67-bebx)
2017/12/24(日) 17:45:11.77ID:BNj/0IJ2M 今時一切ブラウザ使わない業務システムなんか存在するのか?
ブラウザくらい常に開いてるだろ
ブラウザくらい常に開いてるだろ
157デフォルトの名無しさん (ワッチョイ 0f9c-XiD2)
2017/12/24(日) 18:29:58.39ID:/uYLPwgV0 500×3でたかだが1500前後にデータベースは大げさだ
.resxファイルで済む量だろう
.resxファイルで済む量だろう
158デフォルトの名無しさん (ワッチョイ 039e-rt3g)
2017/12/24(日) 22:22:23.70ID:Pk6n0aea0159デフォルトの名無しさん (ワッチョイ 6f9d-PGwP)
2017/12/24(日) 22:47:41.55ID:fqHoYjgG0 DataTableでいいんじゃね
160デフォルトの名無しさん (ワッチョイ 3317-7LW1)
2017/12/24(日) 22:53:06.60ID:MFJnXVyx0 てきとーなクラス作ってXmlSerializerで永続化すりゃOK
検索も500件程度なら速度を気にせずLINQで楽々実装可能
検索も500件程度なら速度を気にせずLINQで楽々実装可能
161デフォルトの名無しさん (ワッチョイ 2323-bebx)
2017/12/24(日) 23:03:51.51ID:V0wW1gjw0 今時新規でXMLはないわ
このまま衰退して消えてくれ
このまま衰退して消えてくれ
162デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/24(日) 23:08:30.69ID:T0V8golIa >>161
最新だと何が人気?
最新だと何が人気?
163デフォルトの名無しさん (ワッチョイ 03c9-buzn)
2017/12/24(日) 23:09:33.19ID:8Z10fIlT0 読むだけだしJSONやYAMLでよくね?
164デフォルトの名無しさん (ワッチョイ 138d-6js8)
2017/12/24(日) 23:22:41.54ID:Tzue5pu10 JSONの指定があればJSONでもいいけど
何も指定がなければXMLで書くけどな
別にレガシーでもなくね?
何も指定がなければXMLで書くけどな
別にレガシーでもなくね?
165デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/24(日) 23:22:45.70ID:T0V8golIa >>163
大してかわんねーじゃん
大してかわんねーじゃん
166デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/24(日) 23:29:42.77ID:ZzoS8BMq0 結論:好きにしろ
167デフォルトの名無しさん (ワッチョイ f38a-IlPN)
2017/12/25(月) 00:41:48.94ID:eNXAkvu40 じゃprofileで
168デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/25(月) 01:51:22.86ID:GOMg9JlCa でも項目数多くなって激遅になったらCSVに戻せる構造なら戻したほうがいいよ
169デフォルトの名無しさん (ワッチョイ f381-0FwS)
2017/12/25(月) 03:41:46.71ID:Jnt6vkvB0 jsonってxmlとくらべて何がおいしいの?
170デフォルトの名無しさん (アウアウアー Saff-1kTE)
2017/12/25(月) 07:08:19.08ID:8aC1MlXsa xml、resx、json、yaml、SQLiteといろいろ選択肢がありますね。少し調べてみて良さそうなもの選んでみます。ありがとうございました
171デフォルトの名無しさん (オッペケ Sr87-0cyC)
2017/12/25(月) 08:10:28.38ID:r7ITo5Fnr >>169
軽い
軽い
172デフォルトの名無しさん (ワッチョイ 2323-bebx)
2017/12/25(月) 08:12:45.88ID:W15ZQhn00 >>169
XML比なら、
人間にとって扱いやすい
サイズが小さい
読み書きが速い
属性と要素の使い分けをしなくていい
JSON SchemaはXML Schemaより圧倒的に分かりやすく書きやすい
配列、マップ、数値、論理値、文字列という最低限の型付けがあるので、
プログラミング言語のデータ構造とのマッピングがしやすい(XMLは属性やXML Schemaで明示的にマッピングしてやらないと使い物にならない)
XML比なら、
人間にとって扱いやすい
サイズが小さい
読み書きが速い
属性と要素の使い分けをしなくていい
JSON SchemaはXML Schemaより圧倒的に分かりやすく書きやすい
配列、マップ、数値、論理値、文字列という最低限の型付けがあるので、
プログラミング言語のデータ構造とのマッピングがしやすい(XMLは属性やXML Schemaで明示的にマッピングしてやらないと使い物にならない)
173デフォルトの名無しさん (ワキゲー MMdf-fEFx)
2017/12/25(月) 10:12:18.83ID:eSLpDS2SM 人間にとって扱いやすいだけはXMLの方が優れてると思うな
特にデータ量が増えるにしたがってjsonはそのまま読むのが不可能になってくる
特にデータ量が増えるにしたがってjsonはそのまま読むのが不可能になってくる
174デフォルトの名無しさん (ガックシ 067f-Iw9I)
2017/12/25(月) 10:15:18.25ID:rqAJYeIu6 どっちでもいい
好きな方を使えばいい
好きな方を使えばいい
175デフォルトの名無しさん (ワッチョイ 7306-buzn)
2017/12/25(月) 11:30:37.90ID:ny2AXHbu0 この案件だと、Excelで加工しやすいcsvがマッチしているんじゃないかな?
そりゃxmlだって出来るが、仕組みが大きくなる
そりゃxmlだって出来るが、仕組みが大きくなる
176デフォルトの名無しさん (ガックシ 067f-Iw9I)
2017/12/25(月) 11:35:31.66ID:FHswaYKc6 たしかに
終了
終了
177デフォルトの名無しさん (ワッチョイ 0f9c-XiD2)
2017/12/25(月) 11:47:08.20ID:IEH/2als0 SYLKファイルにしたっていいんだぜ
どうせ作業量変わんないだろ
どうせ作業量変わんないだろ
178デフォルトの名無しさん (ブーイモ MM27-vkjg)
2017/12/25(月) 12:20:28.09ID:sz9H2GSPM 美容番長だっけ?
179デフォルトの名無しさん (オッペケ Sr87-0cyC)
2017/12/25(月) 12:22:02.34ID:r7ITo5Fnr 今時パーサーやシリアライザが揃ってるんだからどれでも同じな気はする
180デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/25(月) 12:56:04.14ID:OQg4hGpXa181デフォルトの名無しさん (スッップ Sd1f-Xao7)
2017/12/25(月) 14:38:00.28ID:MGc+vt78d >>173
ねーよ
ねーよ
182デフォルトの名無しさん (ワッチョイ 23ea-9Igo)
2017/12/25(月) 18:37:57.59ID:/b5JEuJS0 結局は小さいデータなら下手なDBとか使うより、
csvの方が丈夫さとか確認のしやすさで良いって言うw
csvの方が丈夫さとか確認のしやすさで良いって言うw
183デフォルトの名無しさん (ワッチョイ b303-G8t+)
2017/12/25(月) 18:59:27.21ID:8wInAEQh0 だから上手なDBとか使えばcsvの方より良いんだろ
184デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/25(月) 19:08:03.17ID:OOxEDqwma DBはトランザクションあるから規模に関係無く必要だと思ったら使っとけ
設定ファイル的な話としたら
xmlとjsonって微妙だよねと
設定ファイル的な話としたら
xmlとjsonって微妙だよねと
185デフォルトの名無しさん (ワッチョイ b303-G8t+)
2017/12/25(月) 19:15:27.15ID:8wInAEQh0 設定ファイル的な話だとしたらjsonって微妙だけどxmlはクソ
xmlはどんな用途向けにもクソ
xmlはどんな用途向けにもクソ
186デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/25(月) 19:44:00.45ID:OOxEDqwma187デフォルトの名無しさん (ガックシ 067f-Iw9I)
2017/12/25(月) 19:48:52.98ID:Mbt+5Db+6 ※個人の感想です
188デフォルトの名無しさん (アウアウカー Sac7-Vzer)
2017/12/25(月) 20:07:35.17ID:y0MybC9Za >>179
ぶっちゃけこれだろ
ぶっちゃけこれだろ
189デフォルトの名無しさん (ワッチョイ b303-G8t+)
2017/12/25(月) 20:13:26.84ID:8wInAEQh0 >>186
嫌なのではなくクソだと言っとるのだが?
嫌なのではなくクソだと言っとるのだが?
190デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/25(月) 20:18:39.56ID:OOxEDqwma >>189
じゃあ大好物じゃん
じゃあ大好物じゃん
191デフォルトの名無しさん (アウアウエー Sadf-HQem)
2017/12/25(月) 20:18:59.89ID:PGo3p3P9a アホちゃいまんねんパーでんねんって言われてもどう違うのか本人にしか分からんよw
192デフォルトの名無しさん (ワッチョイ b303-G8t+)
2017/12/25(月) 20:24:10.15ID:8wInAEQh0 >>190
何が気にいらんのか知らんけど変な絡み方するのやめてもらえんかな?
何が気にいらんのか知らんけど変な絡み方するのやめてもらえんかな?
193デフォルトの名無しさん (ガックシ 067f-Iw9I)
2017/12/25(月) 20:27:44.84ID:Mbt+5Db+6 クソって言いたいだけだろって言いたいんだろう
194デフォルトの名無しさん (ドコグロ MMdf-6aYH)
2017/12/25(月) 20:27:48.56ID:hykLc5AjM むしろお前が無駄に絡んでる気がするが...
俺も>>179でFAだと思う
俺も>>179でFAだと思う
195デフォルトの名無しさん (ガックシ 067f-Iw9I)
2017/12/25(月) 20:31:09.26ID:Mbt+5Db+6 好きなの使えって結論を昨日出しただろ
おわり
おわり
196デフォルトの名無しさん (ワッチョイ b303-G8t+)
2017/12/25(月) 20:35:26.95ID:8wInAEQh0197デフォルトの名無しさん (ワッチョイ 6f9d-FmKA)
2017/12/25(月) 20:54:00.52ID:axpIwit20 可読性しか判断基準がないとか話にならん
198デフォルトの名無しさん (ワッチョイ 6f9f-M1U4)
2017/12/25(月) 20:55:38.22ID:HvFCkquc0 バックエンドだと設定ファイルは.csがベスト
貧弱なインテリセンスで間違えやすい設定なんか書きたくないっすわ
テストまで考えるとビルドなしで変更可能である意味がほとんどないしな
貧弱なインテリセンスで間違えやすい設定なんか書きたくないっすわ
テストまで考えるとビルドなしで変更可能である意味がほとんどないしな
199デフォルトの名無しさん (ワッチョイ b303-G8t+)
2017/12/25(月) 21:26:28.09ID:8wInAEQh0 今日は特別に俺からのクリスマスプレゼントの言葉を贈ってやろう
お前らはもう少し自分の無知無能と真剣に向きあった方が良い
お前らはもう少し自分の無知無能と真剣に向きあった方が良い
200デフォルトの名無しさん (ブーイモ MM67-bebx)
2017/12/25(月) 21:42:53.76ID:NbKIcSglM201デフォルトの名無しさん (アウアウウー Sa67-0cyC)
2017/12/25(月) 22:21:29.72ID:NVmmOTaCa 今時csvはなんちゅう本中華
レガシーへ(から)の接続ならしょうがないが
レガシーへ(から)の接続ならしょうがないが
202デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/25(月) 22:37:36.04ID:6sU1sWLU0 次スレからスレタイに雑談を付加してくれ
203デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/25(月) 22:48:43.23ID:VEnbH/i+a204デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/25(月) 22:50:13.06ID:6sU1sWLU0 そんなことしても質問スレで雑談が始まるのは目に見えてるやん...
205デフォルトの名無しさん (ワッチョイ a38a-buzn)
2017/12/25(月) 22:54:47.74ID:UoNk991a0 議論スレがあるじゃん
脱線しそうなら自発的に移動して
ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1469538912/
脱線しそうなら自発的に移動して
ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1469538912/
206デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/25(月) 22:56:14.63ID:6sU1sWLU0 無理でしょ
どこまでが質問の答えなのか雑談なのか区切りが曖昧だし
どこまでが質問の答えなのか雑談なのか区切りが曖昧だし
207デフォルトの名無しさん (ワッチョイ 3317-7LW1)
2017/12/25(月) 23:14:27.18ID:B733ZmRI0 ID真っ赤の奴が出てきたら議論スレに誘導
208デフォルトの名無しさん (ワッチョイ 0353-HtKy)
2017/12/26(火) 02:32:13.70ID:pUXlD1DI0209デフォルトの名無しさん (ドコグロ MMdf-6aYH)
2017/12/26(火) 06:50:53.13ID:tKLgMVXTM210デフォルトの名無しさん (ワッチョイ 7fc3-HtKy)
2017/12/26(火) 08:12:53.60ID:cT/2Pkr20 ボクのおとうさんは、XMLというやつに殺されました
俺はWPFだなw
俺はWPFだなw
211デフォルトの名無しさん (ワントンキン MM9f-OPDc)
2017/12/26(火) 09:02:34.41ID:4/m6WkoIM 初心者なので教えてください。
xml ならDataSet.ReadXml()でお手軽に扱えてたんですが、jsonはどう読み込んで使うのですか?
ちょっとググったら、jQueryとか、webっぽいのが目についたのですが、ローカルexeでも使えるんでしょうか?
xml ならDataSet.ReadXml()でお手軽に扱えてたんですが、jsonはどう読み込んで使うのですか?
ちょっとググったら、jQueryとか、webっぽいのが目についたのですが、ローカルexeでも使えるんでしょうか?
212デフォルトの名無しさん (ブーイモ MM1f-vkjg)
2017/12/26(火) 09:11:46.70ID:x+COpgJUM >>211
NuGetでJson.NETを拾ってくる
NuGetでJson.NETを拾ってくる
213デフォルトの名無しさん (ワッチョイ 0f9c-XiD2)
2017/12/26(火) 09:16:47.35ID:zc8zApfr0 UWPならWindows.Data.Jsonが使えるのでダウンロードしなくてもよい
214デフォルトの名無しさん (ワッチョイ 33d2-FS06)
2017/12/26(火) 11:03:19.55ID:TKx0k9Mu0 XMLは無能ほど嫌うよな、わかりやすくていいわw
215デフォルトの名無しさん (アウアウウー Sa67-bqMz)
2017/12/26(火) 12:28:40.93ID:OUkXE0b1a XML最高って言う奴がいるけどDTDとかちゃんと理解して使ってるのか疑問
俺はさっぱりわからなないので放置してる
XMLは賢い人が集まって俺って賢いだろを連発してクソ企画になったって本で読んだ
俺はさっぱりわからなないので放置してる
XMLは賢い人が集まって俺って賢いだろを連発してクソ企画になったって本で読んだ
216デフォルトの名無しさん (アウアウウー Sa67-bqMz)
2017/12/26(火) 12:32:57.48ID:OUkXE0b1a XMLは同じようなものが大量に並んでてゲシュタルト崩壊?してタグがタグに見えなくなる
217デフォルトの名無しさん (ワッチョイ ff06-buzn)
2017/12/26(火) 12:45:02.83ID:VJsVtqG+0 jsonの問題はコメントだな、一応使える場合もあるけど本式はコメント使えない
ググると作者が原理主義者でどうにもならんようだ
ググると作者が原理主義者でどうにもならんようだ
218デフォルトの名無しさん (ガックシ 067f-Iw9I)
2017/12/26(火) 12:50:09.20ID:oDLVQMSx6 もう飽きたよこの話題
次の質問マダー?
次の質問マダー?
219デフォルトの名無しさん (スッップ Sd1f-9TLc)
2017/12/26(火) 18:42:54.83ID:k2JgsGmBd >>218
じゃあ折角だし
ListviewItemCollectionやCollection<T>をソートするいい方法ってなんかある?
別インスタンスにするのはNG
並び替えたやつをループしてRemoveとAddを繰り返しやる方法以外思いつかなかった
じゃあ折角だし
ListviewItemCollectionやCollection<T>をソートするいい方法ってなんかある?
別インスタンスにするのはNG
並び替えたやつをループしてRemoveとAddを繰り返しやる方法以外思いつかなかった
220デフォルトの名無しさん (ワッチョイ 6f9d-FmKA)
2017/12/26(火) 19:16:47.40ID:cWcYrW8d0 いいってのは何がいいんだ?
メモリ効率か?
ソート速度か?
コーディングの手軽さか?
メモリ効率か?
ソート速度か?
コーディングの手軽さか?
221デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/26(火) 19:19:35.90ID:biBlc3d/0222デフォルトの名無しさん (アウアウウー Sa67-fOQO)
2017/12/26(火) 19:20:20.73ID:tRG2bysKa 普通に関数作ればよくね?
223デフォルトの名無しさん (ワッチョイ ffd2-VulL)
2017/12/26(火) 20:21:15.18ID:V+MeXN2+0 そもそもICollection<T>に要素の並び順なんてものはない
IEnumerable<T>として列挙されるときの順番ならOrderBy
その順番を使い回したいならToArray
IEnumerable<T>として列挙されるときの順番ならOrderBy
その順番を使い回したいならToArray
224デフォルトの名無しさん (ワッチョイ 8f9f-9TLc)
2017/12/26(火) 20:24:15.51ID:0luiAFcJ0 >>219
分かりづらかったんで質問を変える
private readonly Collection<string> hoge
のhogeを文字列順にするとき
foreach(var s in hoge.orderby()){
hoge.Remove(s);
hoge.Add(s);
}
でできたんだけど理由があってaddは使いたくなかった
add使わないで並び替えってできる?
分かりづらかったんで質問を変える
private readonly Collection<string> hoge
のhogeを文字列順にするとき
foreach(var s in hoge.orderby()){
hoge.Remove(s);
hoge.Add(s);
}
でできたんだけど理由があってaddは使いたくなかった
add使わないで並び替えってできる?
225デフォルトの名無しさん (ワッチョイ 0f9c-XiD2)
2017/12/26(火) 20:27:07.94ID:zc8zApfr0 Comparison書いてSortすりゃいいのでは
この手の問題は並び順のルールの方に重点が置かれる、並び替え方なんてこの際どうでもいい
この手の問題は並び順のルールの方に重点が置かれる、並び替え方なんてこの際どうでもいい
226デフォルトの名無しさん (アウアウエー Sadf-HQem)
2017/12/26(火) 20:30:23.64ID:Nu277XVha Collection<string>がICollectionの間違いならToListして代入するだけじゃないの?
227デフォルトの名無しさん (ワッチョイ 8f9f-9TLc)
2017/12/26(火) 20:46:11.62ID:0luiAFcJ0 >>225
Sortがあったら楽だったんだけどね
>>226
https://msdn.microsoft.com/ja-jp/library/ms132397(v=vs.110).aspx
読み取り専用だから代入できない
ICollectionは継承してるクラス
ToListした時点で別インスタンスだからそれに対してSortしても意味無い
>>223
気持ちは分かるんだけど使ってる先を修正できずこちら側で並び替えないといけない状況があってな
インデクサー定義されてるんだから並び替えできても良さそうなのに見つけられなかった
Sortがあったら楽だったんだけどね
>>226
https://msdn.microsoft.com/ja-jp/library/ms132397(v=vs.110).aspx
読み取り専用だから代入できない
ICollectionは継承してるクラス
ToListした時点で別インスタンスだからそれに対してSortしても意味無い
>>223
気持ちは分かるんだけど使ってる先を修正できずこちら側で並び替えないといけない状況があってな
インデクサー定義されてるんだから並び替えできても良さそうなのに見つけられなかった
228デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/26(火) 20:58:13.89ID:YcrPMu9B0 point(1,1)
を
axis(1,1)
に正規表現で置換したいのですがどうすればいいでしょうか?
visualstudio2015です
を
axis(1,1)
に正規表現で置換したいのですがどうすればいいでしょうか?
visualstudio2015です
229デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/26(火) 21:01:11.62ID:YcrPMu9B0 point\({.*}\)
axis(\1)
とやっても出来ないので悩んでいます
axis(\1)
とやっても出来ないので悩んでいます
230デフォルトの名無しさん (アウアウエー Sadf-HQem)
2017/12/26(火) 21:01:50.76ID:Nu277XVha231デフォルトの名無しさん (ワッチョイ 6f9d-FmKA)
2017/12/26(火) 21:07:02.01ID:cWcYrW8d0 自分でソートロジックかいて要素入れ替えていけば良いだけ
おれならそうとうな量でない限り、ソート済みの別インスタンスと入れ替えるがな
おれならそうとうな量でない限り、ソート済みの別インスタンスと入れ替えるがな
232デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/26(火) 21:10:38.37ID:biBlc3d/0 >>224
理論的に考えてインデクサを持たないICollectionをAdd無しに内部での並び順を変えるのは不可能だろ
理論的に考えてインデクサを持たないICollectionをAdd無しに内部での並び順を変えるのは不可能だろ
233デフォルトの名無しさん (ワッチョイ 6f9d-FmKA)
2017/12/26(火) 21:10:38.80ID:cWcYrW8d0 もし元インスタンスにさわりたくないなら、元のコレクションとは別に
ソートした結果のインデックス位置をもつコレクションつくってそっちから引っ張るけど
ソートした結果のインデックス位置をもつコレクションつくってそっちから引っ張るけど
234デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/26(火) 21:11:48.58ID:biBlc3d/0 >>229
{}ではなく()では?
{}ではなく()では?
235デフォルトの名無しさん (ワッチョイ 8f9f-9TLc)
2017/12/26(火) 21:20:16.36ID:0luiAFcJ0 >>232
IListも継承してるクラスだからインデクサ持ってんじゃないかな
元インスタンスに触りたくないというよりは元インスタンスにも反映させたい
別クラスで作られたオブジェクトのインスタンスを渡してもらっていて、それをreaonlyにセットこっちのを並び替えたら同じ様に元のデータも並び替えられるって感じ
ここら辺の構成は弄れない
本当に勘弁してほしいわ
IListも継承してるクラスだからインデクサ持ってんじゃないかな
元インスタンスに触りたくないというよりは元インスタンスにも反映させたい
別クラスで作られたオブジェクトのインスタンスを渡してもらっていて、それをreaonlyにセットこっちのを並び替えたら同じ様に元のデータも並び替えられるって感じ
ここら辺の構成は弄れない
本当に勘弁してほしいわ
236デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/26(火) 21:21:35.79ID:YcrPMu9B0237デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/26(火) 21:24:39.45ID:biBlc3d/0 >>235
ICollectionはIEnumerableしか継承してないんだがIListも継承してるとは?
ICollectionはIEnumerableしか継承してないんだがIListも継承してるとは?
238デフォルトの名無しさん (ワッチョイ 8f9f-9TLc)
2017/12/26(火) 21:33:32.33ID:0luiAFcJ0 >>237
今議題にしてるのがCollection<T>クラスだからそっちの継承をみてくれ
今議題にしてるのがCollection<T>クラスだからそっちの継承をみてくれ
239デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/26(火) 21:34:59.26ID:biBlc3d/0 >>236
マイクロソフトのドキュメントみて\1を$1にしたらできた
マイクロソフトのドキュメントみて\1を$1にしたらできた
240デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/26(火) 21:38:58.29ID:biBlc3d/0241デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
2017/12/26(火) 21:43:23.19ID:YcrPMu9B0 >>239
(にして$にしたらできました!有難う御座います!
(にして$にしたらできました!有難う御座います!
242デフォルトの名無しさん (ワッチョイ 8f9f-9TLc)
2017/12/26(火) 21:57:00.69ID:0luiAFcJ0243デフォルトの名無しさん (アウアウエー Sadf-HQem)
2017/12/26(火) 22:15:00.14ID:Nu277XVha 車輪の再発明感全開だなw
public static class Extensions
{
public static void CopyTo<T>(this IList<T> src, IList<T> dst)
{
int count = Math.Min(src.Count, dst.Count);
for (int i = 0; i < count; i++)
dst[i] = src[i];
}
public static void Sort<T, TKey>(this IList<T> x, Func<T, TKey> keySelector)
{
x.OrderBy(keySelector).ToList().CopyTo(x);
}
}
public static class Extensions
{
public static void CopyTo<T>(this IList<T> src, IList<T> dst)
{
int count = Math.Min(src.Count, dst.Count);
for (int i = 0; i < count; i++)
dst[i] = src[i];
}
public static void Sort<T, TKey>(this IList<T> x, Func<T, TKey> keySelector)
{
x.OrderBy(keySelector).ToList().CopyTo(x);
}
}
244デフォルトの名無しさん (ワッチョイ 6f9f-M1U4)
2017/12/26(火) 22:17:42.69ID:DUnSIAzj0 >>235
いい機会だからリファクタしようぜ
いい機会だからリファクタしようぜ
245デフォルトの名無しさん (ササクッテロロ Sp87-6js8)
2017/12/26(火) 22:34:38.39ID:OyWBWrx4p >>243
親切杉ワロタ
親切杉ワロタ
246デフォルトの名無しさん (アウアウウー Sa67-bqMz)
2017/12/26(火) 22:59:22.02ID:OUkXE0b1a srcやdistがnullの場合は?
247デフォルトの名無しさん (オッペケ Sr87-0cyC)
2017/12/27(水) 06:40:33.49ID:8vUn4Dy4r 即死
248デフォルトの名無しさん (ワッチョイ ffd2-VulL)
2017/12/27(水) 08:15:03.92ID:F/ihue6L0 即死するべき
249デフォルトの名無しさん (ワッチョイ f3d5-EmoC)
2017/12/27(水) 17:55:28.81ID:LR8quwCc0 C#はメモリ不足でコンパイルできないことはありますか?
250デフォルトの名無しさん (ワッチョイ cf9a-RBuR)
2017/12/27(水) 18:05:13.47ID:P6EO0z0h0 >>249
該当するコンパイラのスレで聞いてください
該当するコンパイラのスレで聞いてください
251デフォルトの名無しさん (スッップ Sd1f-Xao7)
2017/12/27(水) 18:23:31.71ID:BZ3b6503d >>249
絶対にないとはいえないけど、そもそもそんなマシンじゃ開発なんてできやしない。
絶対にないとはいえないけど、そもそもそんなマシンじゃ開発なんてできやしない。
252デフォルトの名無しさん (ブーイモ MM1f-bebx)
2017/12/27(水) 20:06:48.22ID:hg84Qb1oM >>249
その前にVSが重すぎてまともに動かないから大丈夫
その前にVSが重すぎてまともに動かないから大丈夫
253デフォルトの名無しさん (ワッチョイ ffd2-Xao7)
2017/12/27(水) 20:47:39.32ID:Jr44gGH00 >>252
コンパイルとVisual Studioは別問題
コンパイルとVisual Studioは別問題
254デフォルトの名無しさん (ワッチョイ b303-G8t+)
2017/12/27(水) 20:53:22.02ID:CubzVxEy0 >>253
コンパイルに何の問題があると?
コンパイルに何の問題があると?
255デフォルトの名無しさん (ワッチョイ ff19-1kTE)
2017/12/27(水) 20:56:02.93ID:gu8VevGS0 Windowsアプリケーションにおいて、ソースファイルのフォルダ分けはどのようにされていますか?
256デフォルトの名無しさん (ワッチョイ f3eb-tmg3)
2017/12/27(水) 22:08:35.73ID:RcFlfCwd0 自前のクラスに、作成済みオブジェクトを探してオブジェクトを返すメソッドを作るにはどうすれば良いんですか?
Xamarin Androidにいうfindbyname()、UnityでいうGameObject.Find<T>()のようなものを自前のクラスにもつけたいんですが・・・・
Xamarin Androidにいうfindbyname()、UnityでいうGameObject.Find<T>()のようなものを自前のクラスにもつけたいんですが・・・・
257デフォルトの名無しさん (ワッチョイ a375-Iw9I)
2017/12/27(水) 22:19:15.35ID:ZvzZDw7/0 もっと詳しく
258デフォルトの名無しさん (ワッチョイ b303-G8t+)
2017/12/27(水) 22:21:38.34ID:CubzVxEy0 もっと激しく
259デフォルトの名無しさん (ワッチョイ f3eb-tmg3)
2017/12/27(水) 22:27:50.77ID:RcFlfCwd0 ときには情熱的に
260デフォルトの名無しさん (アウアウウー Sa67-bqMz)
2017/12/27(水) 23:50:53.96ID:INWFuiTDa >>256
Dictionaryに名前でオブジェクト登録という方法があるけど
わざわざそんな無意味なことをする意味が分からない
UWPやWPFやwindows forrmsでは
xamarinのfindbynameみたいなものわざわざ使わないでもいいのに
Dictionaryに名前でオブジェクト登録という方法があるけど
わざわざそんな無意味なことをする意味が分からない
UWPやWPFやwindows forrmsでは
xamarinのfindbynameみたいなものわざわざ使わないでもいいのに
261デフォルトの名無しさん (ワッチョイ 4ad2-pjZ7)
2017/12/28(木) 03:01:35.82ID:OJX4Pfid0 >>254
コンパイルの質問なのにVisual Studioの問題にすり替えるのが不適切だと言ったまで
コンパイルの質問なのにVisual Studioの問題にすり替えるのが不適切だと言ったまで
262デフォルトの名無しさん (バットンキン MM93-ZbzW)
2017/12/28(木) 07:08:39.80ID:THqyhi+6M データにメソッドをチェーンするのが関数型言語の特徴なのかなと解釈してるんですけど、c#は関数型言語も内包してると考えて良いのでしょうか?
で、F#は関数型専用言語という位置づけで
で、F#は関数型専用言語という位置づけで
263デフォルトの名無しさん (スップ Sd8a-2grh)
2017/12/28(木) 07:22:15.38ID:mHFTOa6Td >>262
F#は関数型専用ではなく、マルチパラダイム
F#は関数型専用ではなく、マルチパラダイム
264デフォルトの名無しさん (バットンキン MM93-ZbzW)
2017/12/28(木) 07:27:00.29ID:THqyhi+6M265デフォルトの名無しさん (アウアウカー Sacb-ab5z)
2017/12/28(木) 07:43:07.29ID:yMSttuCfa >>262
まず大前提としてメソッドチェーンと関数型プログラミングは何にも関係ない
下手にオブジェクト指向とのマルチパラダイムから入るより、まずはML系とかHaskell, Schemeみたいなちゃんとした関数型言語を触って特徴を掴むのがいいと思う
まず大前提としてメソッドチェーンと関数型プログラミングは何にも関係ない
下手にオブジェクト指向とのマルチパラダイムから入るより、まずはML系とかHaskell, Schemeみたいなちゃんとした関数型言語を触って特徴を掴むのがいいと思う
266デフォルトの名無しさん (アウアウウー Sa2f-ekUK)
2017/12/28(木) 08:13:25.30ID:ux20Gvlta 最終目的は何なん?
267デフォルトの名無しさん (ワッチョイ 0b23-bc8k)
2017/12/28(木) 08:24:33.51ID:8DtRzb3L0 関数型言語やるとコードが綺麗になるから目的なんか関係なく一度は経験するべき
268デフォルトの名無しさん (スップ Sd8a-2grh)
2017/12/28(木) 10:07:38.23ID:mHFTOa6Td >>264
あくまでも専用ではないという指摘ね
あくまでも専用ではないという指摘ね
269デフォルトの名無しさん (オッペケ Sr03-OTL/)
2017/12/28(木) 10:27:05.35ID:UQgDKgtxr270デフォルトの名無しさん (ワッチョイ 5fd5-7ecw)
2017/12/28(木) 11:30:41.15ID:MTDYAVo/0271デフォルトの名無しさん (ワッチョイ 1bb3-Lfr5)
2017/12/28(木) 12:42:40.91ID:ISLNvVJt0 C#言語にはソースコードサイズの限界なんて定義されてない
むしろ定義されてる言語って存在するの?
むしろ定義されてる言語って存在するの?
272デフォルトの名無しさん (スフッ Sdea-2grh)
2017/12/28(木) 12:42:57.97ID:kdbduM9Wd >>270
無限にコードが書き込めるって、具体的にどういうことを想定してるの?
無限にコードが書き込めるって、具体的にどういうことを想定してるの?
273デフォルトの名無しさん (ガックシ 0686-kJbS)
2017/12/28(木) 13:03:29.10ID:qTeBLGvd6 コンパイル可能なソースコードサイズがコンピュータのメモリ資源に依存するコンパイラがあるってことじゃね
274デフォルトの名無しさん (ワッチョイ 5fd5-7ecw)
2017/12/28(木) 13:29:50.10ID:MTDYAVo/0275デフォルトの名無しさん (ブーイモ MM76-bc8k)
2017/12/28(木) 13:37:17.01ID:bfoeL7nqM 適宜プロジェクト分ければ楽勝だろ
VS自体のソースとかだと余裕で超えてるだろうし
VS自体のソースとかだと余裕で超えてるだろうし
276デフォルトの名無しさん (JP 0H93-Auke)
2017/12/28(木) 14:18:54.84ID:2t6rj/eWH 銀行の基幹システムかよ
277デフォルトの名無しさん (ブーイモ MM27-QRIm)
2017/12/28(木) 14:28:23.21ID:4EMpIOJ0M278デフォルトの名無しさん (ブーイモ MM27-QRIm)
2017/12/28(木) 15:01:10.61ID:4EMpIOJ0M コンパイラエラーCS1033の記述に
/debugオプションを指定した場合は16,707,556行。しない場合は268,435,454行って書いてある。
1つのソースコードファイルにそんな行数を想定してるんだw
/debugオプションを指定した場合は16,707,556行。しない場合は268,435,454行って書いてある。
1つのソースコードファイルにそんな行数を想定してるんだw
279デフォルトの名無しさん (ササクッテロロ Sp03-PByf)
2017/12/28(木) 15:02:08.30ID:Pbz8zTsrp 1ファイルの行数の制限はCで見たことあるけど
プロジェクトやモジュール単位での総行数の制限は見たことないな
本当にそんなのあるの?
プロジェクトやモジュール単位での総行数の制限は見たことないな
本当にそんなのあるの?
280デフォルトの名無しさん (ブーイモ MM27-QRIm)
2017/12/28(木) 15:02:46.82ID:4EMpIOJ0M >>274
そんなサイズのVB6なんて見たことないw
そんなサイズのVB6なんて見たことないw
281デフォルトの名無しさん (ブーイモ MM27-QRIm)
2017/12/28(木) 15:06:16.70ID:4EMpIOJ0M >>279
リンカーに上限値があるかもね。
リンカーに上限値があるかもね。
282デフォルトの名無しさん (ワッチョイ ee9c-Hmb5)
2017/12/28(木) 15:18:45.90ID:0QpKKHbp0 約1600万行のcsファイル開きたくないな
どう考えてもGodClassですがな
どう考えてもGodClassですがな
283デフォルトの名無しさん (ブーイモ MM27-QRIm)
2017/12/28(木) 15:26:24.91ID:4EMpIOJ0M Visual Studioのエディタがハングするだろ
284デフォルトの名無しさん (ワッチョイ ea60-rhJv)
2017/12/28(木) 15:29:15.32ID:qUCulPnS0 >>267
lisp/scheme は関数型にはいりますか?
lisp/scheme は関数型にはいりますか?
285デフォルトの名無しさん (ワッチョイ cab3-tILW)
2017/12/28(木) 15:46:38.41ID:VwS/1tfY0286デフォルトの名無しさん (アウアウウー Sa2f-ekUK)
2017/12/28(木) 15:47:41.32ID:4ftZK9Tqa287片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ b3b3-9B3r)
2017/12/28(木) 15:55:49.66ID:4SlZSkiq0 OSが止まる可能性アリ。
288デフォルトの名無しさん (アウアウカー Sacb-ab5z)
2017/12/28(木) 16:06:05.42ID:HXzpTfmra >>284
何をもって入らないにしたいのかわからないくらい入るじゃん
何をもって入らないにしたいのかわからないくらい入るじゃん
289デフォルトの名無しさん (ワッチョイ ea60-rhJv)
2017/12/28(木) 16:33:31.43ID:qUCulPnS0290デフォルトの名無しさん (アウアウエー Sac2-LEnz)
2017/12/28(木) 16:52:34.19ID:BvK/JshZa コンパイラなんて自分で書いたことも理論勉強したこともないけど、
扱える識別子の数の上限とかは当然あるんだろうなあ
もっとも、恐らく全部がオンメモリで動いてるはずのインテリセンスの限界ですら
普通のプログラマはたぶん経験してないはずで、必要ならディスクも使えるはずの
コンパイラの限界なんて実用上は無限と想定してよいんじゃないかしら
扱える識別子の数の上限とかは当然あるんだろうなあ
もっとも、恐らく全部がオンメモリで動いてるはずのインテリセンスの限界ですら
普通のプログラマはたぶん経験してないはずで、必要ならディスクも使えるはずの
コンパイラの限界なんて実用上は無限と想定してよいんじゃないかしら
291デフォルトの名無しさん (アウアウウー Sa2f-ekUK)
2017/12/28(木) 17:01:12.05ID:4ftZK9Tqa 言語を二次コードとして
一次コードから生成する形のプログラムを組んだらそういう限界を超えやすいかもしれんな
一次コードから生成する形のプログラムを組んだらそういう限界を超えやすいかもしれんな
292デフォルトの名無しさん (アウアウカー Sacb-ab5z)
2017/12/28(木) 17:51:47.90ID:Ub6XmzY9a >>289
実装として問題ない性能が出たかは別として、関数型パラダイム自体は大昔からある
ラムダ計算も提唱された時期はチューリングマシンとあまり変わりなかったはず
関数型なんて要は文より式を多用する書き方ってくらいの認識でいいよ
初期Lispだって十分関数型といえる
実装として問題ない性能が出たかは別として、関数型パラダイム自体は大昔からある
ラムダ計算も提唱された時期はチューリングマシンとあまり変わりなかったはず
関数型なんて要は文より式を多用する書き方ってくらいの認識でいいよ
初期Lispだって十分関数型といえる
293デフォルトの名無しさん (ワッチョイ 1bf2-YrVP)
2017/12/28(木) 21:01:15.87ID:0+I+cwib0 >>256
>作成済みオブジェクトを探してオブジェクトを返す
という点だけで反応するけど、シングルトンのオブジェクトを共有したいみたいな話なら
MEFとかUnity(ゲームじゃない方)とかのDIコンテナ利用すればいいんじゃないかな。
>作成済みオブジェクトを探してオブジェクトを返す
という点だけで反応するけど、シングルトンのオブジェクトを共有したいみたいな話なら
MEFとかUnity(ゲームじゃない方)とかのDIコンテナ利用すればいいんじゃないかな。
294デフォルトの名無しさん (ワンミングク MM3a-mfdi)
2017/12/29(金) 09:36:53.74ID:oOC6ueEnM リフレクションしたいんだろ
295デフォルトの名無しさん (ワッチョイ 5f81-Ixt9)
2017/12/30(土) 12:06:27.98ID:fp/oHxe90 javascriptで生成後の値をスクレイピングして取得するにはどのような方法がおすすめですか?
296デフォルトの名無しさん (ワンミングク MM3a-mfdi)
2017/12/30(土) 12:28:35.27ID:fH0y6h0/M >>295
普通にヘッドレスブラウザ & Seleniumでいいよ
今ならchromeやfirefoxがヘッドレス対応してる
C#はSeleniumライブラリの出来がイマイチなのでpythonやその他の言語を使ったほうがいいだろうね
普通にヘッドレスブラウザ & Seleniumでいいよ
今ならchromeやfirefoxがヘッドレス対応してる
C#はSeleniumライブラリの出来がイマイチなのでpythonやその他の言語を使ったほうがいいだろうね
297デフォルトの名無しさん (ワッチョイ 5f81-Ixt9)
2017/12/30(土) 14:14:37.73ID:fp/oHxe90 >>296
ベースはC#で行きたい場合、スクレイピングはpythonで作って、dllにでもして呼び出すイメージでしょうか?
ベースはC#で行きたい場合、スクレイピングはpythonで作って、dllにでもして呼び出すイメージでしょうか?
298デフォルトの名無しさん (ワンミングク MM3a-mfdi)
2017/12/30(土) 14:16:47.93ID:fH0y6h0/M C#でもSeleniumは動かせるよ
おすすめはしないってだけ
おすすめはしないってだけ
299デフォルトの名無しさん (ワンミングク MM3a-mfdi)
2017/12/30(土) 14:21:49.39ID:fH0y6h0/M python使うならモジュールではなくサービスにしたほうがいいだろうね
300デフォルトの名無しさん (ブーイモ MM76-bc8k)
2017/12/30(土) 14:23:22.82ID:IKvN98q1M 普通にProcess.Startでいいよ
スクレイピングなんかそれ自体クソ重いから連携はファイルベースで全く問題ない
スクレイピングなんかそれ自体クソ重いから連携はファイルベースで全く問題ない
301デフォルトの名無しさん (ワッチョイ 83d2-2grh)
2017/12/30(土) 14:47:06.31ID:gOML52to0 >>298
なぜ?
なぜ?
302デフォルトの名無しさん (ワッチョイ 1b02-Xn0J)
2017/12/31(日) 01:25:27.69ID:/ykdU4z00 出来がイマイチだから
303デフォルトの名無しさん (ワッチョイ 83d2-2grh)
2017/12/31(日) 06:36:51.88ID:5u0blHAo0 >>302
何に比べてどうイマイチなの?
何に比べてどうイマイチなの?
304デフォルトの名無しさん (ワッチョイ 0a19-MgI2)
2018/01/01(月) 20:52:37.58ID:G7LbeSvc0 oracleに接続するのはodp.net安定ですか?
305デフォルトの名無しさん (ワッチョイ 83d2-2grh)
2018/01/02(火) 00:30:47.40ID:TZO8s3980 >>304
それ以外に何を考えてんの?
それ以外に何を考えてんの?
306デフォルトの名無しさん (ワッチョイ 460f-2YEI)
2018/01/02(火) 20:06:46.76ID:c6AfmmkU0 ファイル、新しいプロジェクトを選びます
Windowsフォームアプリケーション
を選択したいのですが、見当たりません
visual studio 2017インストールし、C#の勉強をしようとしています
背景が真っ黒で白地にしたいですが、表示(V)を左クリックしても背景を変更する設定が分かりません
c#本を2010年に買って、8年かかってやっとインストールする気になり…当時はvisual studio2010をインストールしてね、でしたが…
2017をインストールしました
Windowsフォームアプリケーション
を選択したいのですが、見当たりません
visual studio 2017インストールし、C#の勉強をしようとしています
背景が真っ黒で白地にしたいですが、表示(V)を左クリックしても背景を変更する設定が分かりません
c#本を2010年に買って、8年かかってやっとインストールする気になり…当時はvisual studio2010をインストールしてね、でしたが…
2017をインストールしました
307デフォルトの名無しさん (アウアウウー Sa2f-ekUK)
2018/01/02(火) 20:12:18.10ID:lWw7BAnPa >>306
http://www.softantenna.com/wp/tips/visual-studio-2017-install/
ワークロードで.netデスクトップアプリ開発をインストールしてねんじゃね?
http://www.softantenna.com/wp/tips/visual-studio-2017-install/
ワークロードで.netデスクトップアプリ開発をインストールしてねんじゃね?
308デフォルトの名無しさん (ワッチョイ 460f-2YEI)
2018/01/02(火) 20:33:51.04ID:c6AfmmkU0 スタートボタンからblend for visual studio 2017を起動してました
vのvisual studio2017から起動したら、白背景、Windowsフォームアプリケーション(.net flamework)ボタンがありました
.NET Frameworkは外したいけと、外せないようですね
vのvisual studio2017から起動したら、白背景、Windowsフォームアプリケーション(.net flamework)ボタンがありました
.NET Frameworkは外したいけと、外せないようですね
309デフォルトの名無しさん (ワッチョイ 460f-2YEI)
2018/01/02(火) 21:59:17.87ID:c6AfmmkU0310デフォルトの名無しさん (ワッチョイ 0b23-bc8k)
2018/01/02(火) 22:06:55.09ID:NRmrCA2E0 楽しみにしているところ申し訳ないが、動かせたのなら既にお前は.exeを作っている
311デフォルトの名無しさん (ワッチョイ de81-Xn0J)
2018/01/02(火) 23:08:41.27ID:jqAIBNHq0 驚愕の事実だな
312デフォルトの名無しさん (アウアウウー Sa2f-FiVz)
2018/01/02(火) 23:11:08.00ID:kv7Tqflpa プロジェクトが作れない
こんなのがFAQなんだからMSはいろいろと見直したほうがいい
こんなのがFAQなんだからMSはいろいろと見直したほうがいい
313デフォルトの名無しさん (アウアウエー Sac2-LEnz)
2018/01/02(火) 23:37:02.78ID:T7ovXE0Aa 初心者でも落ち着いて考えれば十分解決可能な問題のような気もするんだけどね
314デフォルトの名無しさん (ワッチョイ de81-Xn0J)
2018/01/02(火) 23:42:05.33ID:jqAIBNHq0 鳥には芋虫の考えなんてわからないよ
315デフォルトの名無しさん (ワッチョイ 460f-2YEI)
2018/01/02(火) 23:53:32.38ID:c6AfmmkU0 まったりとした雰囲気ありがとう、皆さん
自分は古く融通が利かないタイプです
フォルダ作ってコンパイラとリンカ放り込み、パスを通してbat作ってコンパイル
エラーが出たら、エラーリストをテキストエディタで読みタグジャンプ、エラー修正…
開発環境はFD1枚で持ち運び
だから今の開発環境インストール50GBに驚愕、ソースバックアップどうするの??開発環境はノーパソごと持ち運びか?とか
visual studio2000いくつかを過去にインストールした時はOSごと落ちてOS再インストールを味わって困惑してました
奮起してゆっくり覚えます
自分は古く融通が利かないタイプです
フォルダ作ってコンパイラとリンカ放り込み、パスを通してbat作ってコンパイル
エラーが出たら、エラーリストをテキストエディタで読みタグジャンプ、エラー修正…
開発環境はFD1枚で持ち運び
だから今の開発環境インストール50GBに驚愕、ソースバックアップどうするの??開発環境はノーパソごと持ち運びか?とか
visual studio2000いくつかを過去にインストールした時はOSごと落ちてOS再インストールを味わって困惑してました
奮起してゆっくり覚えます
316デフォルトの名無しさん (ワッチョイ 03c9-Auke)
2018/01/03(水) 00:01:56.60ID:gYcQuPfn0317デフォルトの名無しさん (ワッチョイ ce33-Kkzi)
2018/01/03(水) 01:17:17.11ID:E10k9nmq0 テスト
318デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 01:36:11.94ID:zucBe8Ms0319デフォルトの名無しさん (ワッチョイ ce33-Kkzi)
2018/01/03(水) 01:38:01.68ID:E10k9nmq0 なんかcmd.exe←全部半角にすると書き込めないね
320デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 01:44:24.84ID:zucBe8Ms0 a.exe
321デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 01:45:06.51ID:zucBe8Ms0 cmd.exe
322デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 01:47:07.02ID:zucBe8Ms0 a.js
323デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 01:48:25.71ID:zucBe8Ms0 script
324デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 01:48:44.83ID:zucBe8Ms0 <>
325デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 01:51:42.79ID:zucBe8Ms0 <script> ←これも書き込めない
326デフォルトの名無しさん (ワッチョイ caa4-xflF)
2018/01/03(水) 03:03:39.73ID:BLwnNh6e0 ここはテストスレではありません
327デフォルトの名無しさん (ワッチョイ 9ff7-57r9)
2018/01/03(水) 21:40:35.60ID:4IoSL1o20 int a=2;
int b=3;
int c=9;
int d=11;
このうち10より小さいもののうちで一番大きいものを選択する(アルファベットを返す)コードはどういうふうに書けばよいでしょうか?
int b=3;
int c=9;
int d=11;
このうち10より小さいもののうちで一番大きいものを選択する(アルファベットを返す)コードはどういうふうに書けばよいでしょうか?
328デフォルトの名無しさん (ワッチョイ 4ad2-Auke)
2018/01/03(水) 21:49:31.09ID:asJzHhKy0329デフォルトの名無しさん (ワッチョイ 9ff7-57r9)
2018/01/03(水) 21:52:22.30ID:4IoSL1o20 ありがとうございます。
330デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 21:55:57.06ID:zucBe8Ms0 var dict = new Dictionary<string, int>(){
{"a", 2},
{"b", 3},
{"c", 9},
{"d", 11}
};
var result = dict.Where(data=>data.Value<10).Max(data=>data.Value).Key;
{"a", 2},
{"b", 3},
{"c", 9},
{"d", 11}
};
var result = dict.Where(data=>data.Value<10).Max(data=>data.Value).Key;
331デフォルトの名無しさん (ワッチョイ 9ff7-57r9)
2018/01/03(水) 22:08:04.88ID:4IoSL1o20 何度もすいません
int a=2;
int b=3;
int c=9;
int d=11;
同じアルファベットに対応したフラグ
bool a_flag=true;
bool b_flag=true;
bool c_flag=true;
bool d_flag=false;
このうちフラグがtrueの中のもので一番大きいものを選択する(アルファベットを返す)コードはどういうふうに書けばよいでしょうか?
int a=2;
int b=3;
int c=9;
int d=11;
同じアルファベットに対応したフラグ
bool a_flag=true;
bool b_flag=true;
bool c_flag=true;
bool d_flag=false;
このうちフラグがtrueの中のもので一番大きいものを選択する(アルファベットを返す)コードはどういうふうに書けばよいでしょうか?
332デフォルトの名無しさん (アウアウウー Sa2f-FiVz)
2018/01/03(水) 22:21:19.29ID:wQKC+m+qa そういうことをやりたいなら
C#入門を全部終えてからやれ
C#入門を全部終えてからやれ
333デフォルトの名無しさん (アウアウウー Sa2f-FiVz)
2018/01/03(水) 22:26:46.45ID:wQKC+m+qa 処理内容を変数の名前に依存するのは悪いやり方
int aがbool a_fragに関連していると決めているのはコードを書いてる人間だけ
プログラム上は関連づけられてない
とんでもない愚かなコード
int aがbool a_fragに関連していると決めているのはコードを書いてる人間だけ
プログラム上は関連づけられてない
とんでもない愚かなコード
334デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 22:28:33.33ID:zucBe8Ms0335デフォルトの名無しさん (ワッチョイ de81-Xn0J)
2018/01/03(水) 22:30:30.27ID:MV/bJa3c0 C#でなくパッパラパー向けの言語やればいい
Pなんとかっていう
Pなんとかっていう
336デフォルトの名無しさん (ワッチョイ 4ad2-Auke)
2018/01/03(水) 22:30:39.56ID:asJzHhKy0 >>334
それだと最大値をもつものが複数あった場合が考慮されていない
それだと最大値をもつものが複数あった場合が考慮されていない
337デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 22:33:25.93ID:zucBe8Ms0338デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 22:39:35.15ID:zucBe8Ms0 最大値を持つアルファベットをすべて出力するVer
https://ideone.com/RfUhMp
https://ideone.com/RfUhMp
339デフォルトの名無しさん (ワッチョイ 9ff7-57r9)
2018/01/03(水) 22:43:09.66ID:4IoSL1o20 ありがとうございます
自分のコードにあてはめて書いてみます
また来ます
自分のコードにあてはめて書いてみます
また来ます
340デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 22:47:32.12ID:zucBe8Ms0 何故Max関数はリストの要素そのものではなく判別に使った式の値を出力する仕様にしたのか
341デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 22:48:35.18ID:zucBe8Ms0 と思ったけど最大値が複数あるときにそうじゃないと困るからか!初めて気付いた
342デフォルトの名無しさん (アウアウウー Sa2f-FiVz)
2018/01/03(水) 22:56:32.16ID:wQKC+m+qa いやいやそんな理由じゃないぞw
最大値を求める関数から要素返されても困るだろ
最大値を求める関数から要素返されても困るだろ
343デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 22:59:13.78ID:zucBe8Ms0344デフォルトの名無しさん (ワッチョイ 6b75-kJbS)
2018/01/03(水) 23:02:45.49ID:zucBe8Ms0 DateTimeオブジェクトみたいな w
345デフォルトの名無しさん (ワッチョイ de81-RYVm)
2018/01/03(水) 23:04:14.73ID:a50vShvf0 どれか一個えらぶ関数じゃなくて一応演算の結果を返す関数だからな
SumとかAvgとかと挙動違ったら面倒くさい
SumとかAvgとかと挙動違ったら面倒くさい
346デフォルトの名無しさん (アウアウウー Sa2f-FiVz)
2018/01/03(水) 23:07:01.35ID:wQKC+m+qa そういう問題でもない…
347デフォルトの名無しさん (ワッチョイ 5f81-Ixt9)
2018/01/03(水) 23:09:47.06ID:kBuweVPR0348デフォルトの名無しさん (ワッチョイ 9ff7-57r9)
2018/01/03(水) 23:59:11.68ID:4IoSL1o20 var list = new List<bool> { true, false, true, true, true, true };
Console.WriteLine(list.Count(true));
trueの数を表示させたいのですがこの場合ラムダ式はどのように書けばいいでしょうか?
Console.WriteLine(list.Count(true));
trueの数を表示させたいのですがこの場合ラムダ式はどのように書けばいいでしょうか?
349デフォルトの名無しさん (アウアウエー Sa3f-iSeT)
2018/01/04(木) 00:05:25.85ID:7evDO2yEa それは「この場合ラムダ式」が分からないんじゃなくて、そもそもラムダ式がまるで分からないんだと思うw
質問する前にやることがあるんじゃないのかな
質問する前にやることがあるんじゃないのかな
350デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/04(木) 00:08:30.14ID:dskbzAHG0 すいません…
LINQ触るの初めてなもので…
LINQ触るの初めてなもので…
351デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/04(木) 00:22:00.97ID:jrk7LVb6a ラムダ式以前にc#がわかってないだろ
コード書くには早すぎる
入門書を読み返せ
回答が出てないなら新しいのを買え
コード書くには早すぎる
入門書を読み返せ
回答が出てないなら新しいのを買え
352デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/04(木) 00:28:30.17ID:dskbzAHG0 var list = new List<bool> { true, false, true, true, true, true };
Console.WriteLine(list.Count(n => n == true));
とりあえずこれで動きました
nはメソッドの引数みたいなものでなんでも構わないのでしょうか?
var list = new List<bool> { true, false, true, true, true, true };
textBox1.Text = list.Count(n => n == true).ToString();
また上の様にすると動かないのですが、これは何故でしょうか? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
Console.WriteLine(list.Count(n => n == true));
とりあえずこれで動きました
nはメソッドの引数みたいなものでなんでも構わないのでしょうか?
var list = new List<bool> { true, false, true, true, true, true };
textBox1.Text = list.Count(n => n == true).ToString();
また上の様にすると動かないのですが、これは何故でしょうか? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
353デフォルトの名無しさん (ワッチョイ 3bb5-CJXz)
2018/01/04(木) 00:36:28.14ID:uPERGx+M0 質問です
わたしはパッパラパーなりにC#を勉強してきて、自分用の初歩的なGUIアプリを作れる程度には覚えれたんですが
Pなんとかのほうが良かったんですか?
それがパッパラパーに向いてる理由をふくめて教えていただけるとありがたいです
わたしはパッパラパーなりにC#を勉強してきて、自分用の初歩的なGUIアプリを作れる程度には覚えれたんですが
Pなんとかのほうが良かったんですか?
それがパッパラパーに向いてる理由をふくめて教えていただけるとありがたいです
354デフォルトの名無しさん (ワッチョイ cb75-rVxj)
2018/01/04(木) 00:42:55.37ID:T+TxDQDt0355デフォルトの名無しさん (ワッチョイ cb75-rVxj)
2018/01/04(木) 00:43:17.15ID:T+TxDQDt0 でテルルじゃなくて出てる?
356デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/04(木) 00:44:43.18ID:dskbzAHG0 >>354
Tostringの後の;で
型 'System.NullReferenceException' のハンドルされていない例外が LINQtest.exe で発生しました
追加情報:オブジェクト参照がオブジェクト インスタンスに設定されていません。
と出ます
Tostringの後の;で
型 'System.NullReferenceException' のハンドルされていない例外が LINQtest.exe で発生しました
追加情報:オブジェクト参照がオブジェクト インスタンスに設定されていません。
と出ます
357デフォルトの名無しさん (ワッチョイ cb75-rVxj)
2018/01/04(木) 00:45:23.69ID:T+TxDQDt0358デフォルトの名無しさん (ワッチョイ cb75-rVxj)
2018/01/04(木) 00:46:43.86ID:T+TxDQDt0 >>356
うーん...ideoneに全部貼ってうp頼む
うーん...ideoneに全部貼ってうp頼む
359デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/04(木) 00:49:07.59ID:dskbzAHG0360デフォルトの名無しさん (ワッチョイ cb75-rVxj)
2018/01/04(木) 00:52:04.58ID:T+TxDQDt0 >>359
Form1メソッドはForm1クラスのコンストラクタなんだが、ここじゃなくてform1_Loadの中に書かないといけない。
デザイナーでフォームのウィンドウをダブルクリックすればform1_Loadが作成されるからその中に。
Form1メソッドはForm1クラスのコンストラクタなんだが、ここじゃなくてform1_Loadの中に書かないといけない。
デザイナーでフォームのウィンドウをダブルクリックすればform1_Loadが作成されるからその中に。
361デフォルトの名無しさん (ワッチョイ cb75-rVxj)
2018/01/04(木) 00:59:42.00ID:T+TxDQDt0 あと、コピぺするときに省略しただけかもしれないけどInitializeComponent();っていう文がForm1メソッドの中に書いてあったはずなんだがそれは必要
362デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/04(木) 01:01:20.45ID:dskbzAHG0363デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/04(木) 04:02:02.66ID:dskbzAHG0 >>334
同じ値の時はあらかじめ決められている優先順位を取りたかったのでこのコードが非常に参考になりました
有難う御座います。
優先度が高いものを上にすればいいんですね
var flaggedList = list.Where(data => data.Flag);
これだけよくわからないのですがif(true)とかと同じ様な書き方でtrueのものだけソート出来るんでしょうか?
同じ値の時はあらかじめ決められている優先順位を取りたかったのでこのコードが非常に参考になりました
有難う御座います。
優先度が高いものを上にすればいいんですね
var flaggedList = list.Where(data => data.Flag);
これだけよくわからないのですがif(true)とかと同じ様な書き方でtrueのものだけソート出来るんでしょうか?
364デフォルトの名無しさん (ワッチョイ 4f9f-b4Jt)
2018/01/04(木) 05:47:57.28ID:+aPSEg6K0 上は下の省略形で下の括弧内で好きに条件をかけばいい
data => data.Flag
data => {return data.Flag;}
勿論ifも使えるしこんな感じで書きかえることもできる
data =>{
if(data.Flag){
return true;
}
else{
return false;
}}
data => data.Flag
data => {return data.Flag;}
勿論ifも使えるしこんな感じで書きかえることもできる
data =>{
if(data.Flag){
return true;
}
else{
return false;
}}
365デフォルトの名無しさん (アウアウウー Sa8f-xwan)
2018/01/04(木) 14:01:04.73ID:Pa4sGEBaa >>348
s => s
s => s
366デフォルトの名無しさん (ワッチョイ 3bb5-CJXz)
2018/01/04(木) 14:02:40.76ID:uPERGx+M0 >>357
ありがとうございます
ありがとうございます
367デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/04(木) 16:11:37.44ID:dskbzAHG0368デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/04(木) 16:14:27.34ID:dskbzAHG0 list.Countで場合分けしてみます
369デフォルトの名無しさん (ワッチョイ 0b16-if4i)
2018/01/04(木) 16:34:11.21ID:v6C8tRIY0 そうだな。
てかmaxがmavになってた
てかmaxがmavになってた
370デフォルトの名無しさん (ワッチョイ ef9b-uQO5)
2018/01/05(金) 14:35:10.83ID:vfHtPi/n0 ある文字列に特定の文字列が含まれていれば別の文字列に置換する、という処理を行いたいんですが
だぜ→です
ですわ→です
といった感じの置換したい文字列が数百パターン存在する場合はひとつひとつ置換を試していくしかないのでしょうか…?
だぜ→です
ですわ→です
といった感じの置換したい文字列が数百パターン存在する場合はひとつひとつ置換を試していくしかないのでしょうか…?
371デフォルトの名無しさん (アウアウウー Sa8f-UR9r)
2018/01/05(金) 14:37:31.37ID:1LmylbFqa >>370
Replaceじゃダメなん?
Replaceじゃダメなん?
372デフォルトの名無しさん (ワッチョイ ef9b-uQO5)
2018/01/05(金) 14:51:45.66ID:vfHtPi/n0 >>371
基本的にはreplaceを使うことになると思うのですが、例えば
'今日はほんといい天気だぁ〜〜〜!!'
という文字列に対して
だぜ→です
だぁ→だ
ほんと→ほんとうに
といった変換ルールが複数ある場合は
ひとつひとつreplaceをかける(あるいはループで変換ルールすべてを試す)しかないのかなぁと思いまして
要するに実行速度が気になっているのです
基本的にはreplaceを使うことになると思うのですが、例えば
'今日はほんといい天気だぁ〜〜〜!!'
という文字列に対して
だぜ→です
だぁ→だ
ほんと→ほんとうに
といった変換ルールが複数ある場合は
ひとつひとつreplaceをかける(あるいはループで変換ルールすべてを試す)しかないのかなぁと思いまして
要するに実行速度が気になっているのです
373デフォルトの名無しさん (アウアウウー Sa8f-UR9r)
2018/01/05(金) 14:54:03.66ID:1LmylbFqa374デフォルトの名無しさん (ガックシ 067f-if4i)
2018/01/05(金) 14:55:24.40ID:mKj1Hxz16 >>372
そうするのが自然
そうするのが自然
375デフォルトの名無しさん (ワッチョイ ef9b-uQO5)
2018/01/05(金) 14:55:33.45ID:vfHtPi/n0376デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/05(金) 16:40:20.28ID:/39Jd9H6a >>372
そこに”今日はほんとうにいい天気だ”を突っ込むとどうなる?
そこに”今日はほんとうにいい天気だ”を突っ込むとどうなる?
377デフォルトの名無しさん (ワッチョイ 9f2b-hL1C)
2018/01/05(金) 16:43:17.51ID:L4TaysN80 うにうに
378デフォルトの名無しさん (アウアウウー Sa8f-UR9r)
2018/01/05(金) 16:52:08.84ID:1LmylbFqa 変換済みワードは一旦固めてしまわないと駄目かもしれんね
379デフォルトの名無しさん (ワッチョイ 4f33-wtpF)
2018/01/05(金) 22:21:11.06ID:zjfuYfzH0 インクリメンタルにトライ木に掛けると1走査でできるよ
380デフォルトの名無しさん (ワッチョイ cb75-if4i)
2018/01/05(金) 23:01:40.39ID:FSL+3S710 なんぞそれ
381デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/06(土) 11:25:54.88ID:A/n+HHYoa switch c
case 'だ':
var n=nextWord();
if(n=='ぜ')
replace("です");
else if(n=='ぁ')
case 'だ':
var n=nextWord();
if(n=='ぜ')
replace("です");
else if(n=='ぁ')
382デフォルトの名無しさん (ワッチョイ 2bb3-7I2U)
2018/01/06(土) 15:58:34.34ID:lrwhIMsB0 C♯のswitchってC♯6からint以外も扱えるようになってたのか知らなかった
383デフォルトの名無しさん (ブーイモ MM0f-ICSi)
2018/01/06(土) 17:26:53.26ID:lMgufIkRM 2008とかでも使えるけど?
384デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/08(月) 18:15:27.77ID:N8MhEzoU0 "one"
"two"
"three"
の様な文字列が用意されていて
int keisan(2,"one")
→2*1
int keisan(2,"one","two")
→2*(1+2)
int keisan(2,"one","two","three")
→2*(1+2+3)
int keisan(2,"one","three")
→2*(1+3)
の様な結果を返すメソッドを作りたいのですが
引数の数が決まっていないメソッドを作るにはどうすればいいのでしょうか?
"two"
"three"
の様な文字列が用意されていて
int keisan(2,"one")
→2*1
int keisan(2,"one","two")
→2*(1+2)
int keisan(2,"one","two","three")
→2*(1+2+3)
int keisan(2,"one","three")
→2*(1+3)
の様な結果を返すメソッドを作りたいのですが
引数の数が決まっていないメソッドを作るにはどうすればいいのでしょうか?
385デフォルトの名無しさん (ブーイモ MM0f-lku/)
2018/01/08(月) 18:17:47.15ID:vvKSl3ZPM params
386デフォルトの名無しさん (ワッチョイ 9fd2-oFSC)
2018/01/08(月) 18:21:03.05ID:oFrueEmX0 >>384
string[ ] args
string[ ] args
387デフォルトの名無しさん (ワッチョイ 9fd2-WIcH)
2018/01/08(月) 18:28:46.09ID:6LQHZKeL0 シグネチャは int keisan(int x, params string[] xs) になるかな
388デフォルトの名無しさん (アウアウエー Sa3f-iSeT)
2018/01/08(月) 18:43:03.94ID:5t6jHGkha たぶんずっと同じ人だと思うけど、こういう人には質問するより前に
まず自分で一通り勉強したらって言ってあげるのが優しさだと俺は思うけどなあw
まず自分で一通り勉強したらって言ってあげるのが優しさだと俺は思うけどなあw
389デフォルトの名無しさん (ワッチョイ cb75-rVxj)
2018/01/08(月) 18:44:35.51ID:LRSoqKZx0 俺はそうは思わんわ
これも一種の勉強やろ
これも一種の勉強やろ
390デフォルトの名無しさん (ワッチョイ fb03-wNfw)
2018/01/08(月) 19:00:26.28ID:Jvqg6B4Y0 質問するより前にまず自分で一通り勉強した結果がお前らなのだから
俺は自分で勉強するより前に質問する方を選ぶよ
俺は自分で勉強するより前に質問する方を選ぶよ
391デフォルトの名無しさん (ワッチョイ 9fb3-TPPA)
2018/01/08(月) 19:29:32.05ID:7hYpzMEE0 >>388
ここ質問スレだから
ここ質問スレだから
392デフォルトの名無しさん (ワッチョイ 9fe3-UR9r)
2018/01/08(月) 19:38:26.81ID:uSMEFASC0 これあれじゃん
printfっぽいやつじゃん
printfっぽいやつじゃん
393デフォルトの名無しさん (ワッチョイ 9fe3-UR9r)
2018/01/08(月) 19:42:36.36ID:uSMEFASC0 c++のときの記憶だったw
394デフォルトの名無しさん (ワッチョイ cf9c-YOiH)
2018/01/08(月) 19:48:50.27ID:YqcrQaEG0395デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/08(月) 21:05:58.44ID:JPcKKnXVa いや
同じ人なら
どうせまた変な事がしたいだけ
同じ人なら
どうせまた変な事がしたいだけ
396デフォルトの名無しさん (ワッチョイ 0f81-CMM7)
2018/01/08(月) 21:33:14.77ID:xV7in+AG0 自閉症かなんかっぽいよね
397デフォルトの名無しさん (ワッチョイ 4f9f-b4Jt)
2018/01/08(月) 21:40:08.24ID:zg3P5Xfz0 勉強というよりもこの程度の内容をググれないのが心配だ
"引数の数が決まっていないメソッド"って感じの適当な検索でもかなりヒットするのに
"引数の数が決まっていないメソッド"って感じの適当な検索でもかなりヒットするのに
398デフォルトの名無しさん (ワッチョイ 0b05-rVxj)
2018/01/08(月) 21:40:13.41ID:bJftSVCJ0 おかげでスレの話題が新鮮に保たれてる
399デフォルトの名無しさん (ワッチョイ 9fd2-Gfid)
2018/01/08(月) 21:45:51.25ID:O8jIltI+0 ここは
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
て、ことだからねえ。
>>1 が気にいらないなら自分で自分の主義にあるスレを立ち上げればいいだけ。
検索するにも適切なキーワードを思いつけなくて1日悩み続けた挙げ句に、聞いたら一瞬で終わるなんて事もあるし。
今回のは簡単な方だったみたいだけど。
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
て、ことだからねえ。
>>1 が気にいらないなら自分で自分の主義にあるスレを立ち上げればいいだけ。
検索するにも適切なキーワードを思いつけなくて1日悩み続けた挙げ句に、聞いたら一瞬で終わるなんて事もあるし。
今回のは簡単な方だったみたいだけど。
>>399
「VS2017 のプロジェクト(P)→プロパティ(E)のスタートアップオブジェクト(O) に相当する
eclipse や intelliJ のメニューってなんですか」
と、今も探しているが、そもそも適切なキーワードが思いつかない
自分の話ですまん‥
「VS2017 のプロジェクト(P)→プロパティ(E)のスタートアップオブジェクト(O) に相当する
eclipse や intelliJ のメニューってなんですか」
と、今も探しているが、そもそも適切なキーワードが思いつかない
自分の話ですまん‥
401デフォルトの名無しさん (アウアウエー Sa3f-iSeT)
2018/01/08(月) 22:07:40.25ID:fM4iC4afa (1) 勉強して理解できなかった疑問点や調べても解決しなかったことを質問する
のと
(2) 面倒くさいからとにかくお前ら手取り足取り教えてくれ
では全然違うと思うよw
誰でも変な思い込みや勘違いをすることがあるから、(1)であるならくだらない質問でも問題ないと思う。
でも(2)は見ててあんまり気分がよくないなと思う人もいると思うけどね。
っていうかそういう道徳的話はともかく、それって学習効率悪いよね絶対。
優しさ云々はそういう意味
のと
(2) 面倒くさいからとにかくお前ら手取り足取り教えてくれ
では全然違うと思うよw
誰でも変な思い込みや勘違いをすることがあるから、(1)であるならくだらない質問でも問題ないと思う。
でも(2)は見ててあんまり気分がよくないなと思う人もいると思うけどね。
っていうかそういう道徳的話はともかく、それって学習効率悪いよね絶対。
優しさ云々はそういう意味
402デフォルトの名無しさん (ワンミングク MMbf-vnDV)
2018/01/08(月) 22:11:51.21ID:4Iuopxo1M くだらない調査に時間かけるより聞いた方が良い
答える方もグダグダ言わずに知ってることを教えてやれ
そういうネットワークができれば社会全体の生産性が上がるんだよ
日本にはなくて外国には当たり前のようにあるシステムだ
日本人は性格が排他的すぎるからITに向いてない
だから負けるんだ
答える方もグダグダ言わずに知ってることを教えてやれ
そういうネットワークができれば社会全体の生産性が上がるんだよ
日本にはなくて外国には当たり前のようにあるシステムだ
日本人は性格が排他的すぎるからITに向いてない
だから負けるんだ
403デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/08(月) 22:29:20.81ID:N8MhEzoU0404デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/08(月) 22:32:02.44ID:N8MhEzoU0405デフォルトの名無しさん (ワッチョイ 9fb3-TPPA)
2018/01/08(月) 22:34:04.87ID:7hYpzMEE0 くだらん質問だと思うならスルーするなり他のスレに行けよ
ここは
> 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
だよ
ここは
> 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
だよ
406デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/08(月) 22:40:28.65ID:N8MhEzoU0 ちなみにこういう書き方はできるのでしょうか?
int keisan(params string[] xs,int x)
int keisan("one","two","three",2)
int keisan(params string[] xs,int x)
int keisan("one","two","three",2)
407デフォルトの名無しさん (ワッチョイ cb75-rVxj)
2018/01/08(月) 22:44:04.38ID:LRSoqKZx0 無理です
ちょっと考えればそれができたら困ったことになるのは分かるはず
ちょっと考えればそれができたら困ったことになるのは分かるはず
408デフォルトの名無しさん (ワッチョイ 4f9f-b4Jt)
2018/01/08(月) 22:45:14.32ID:zg3P5Xfz0409デフォルトの名無しさん (ワッチョイ fb03-wNfw)
2018/01/08(月) 22:51:04.77ID:Jvqg6B4Y0410デフォルトの名無しさん (ワッチョイ 4f33-wtpF)
2018/01/08(月) 23:37:32.94ID:evPy5QQs0411デフォルトの名無しさん (ワッチョイ cb75-rVxj)
2018/01/09(火) 00:41:16.91ID:5Fj63PJf0412デフォルトの名無しさん (ワッチョイ 9fd2-oFSC)
2018/01/09(火) 03:29:04.52ID:V7ZjzcjU0 >>411
デフォルト引数の順番の制限もなくなったことを考えてみ?
デフォルト引数の順番の制限もなくなったことを考えてみ?
413デフォルトの名無しさん (ワッチョイ 9fb3-TPPA)
2018/01/09(火) 04:57:15.02ID:/Jm0Q1+w0414デフォルトの名無しさん (ワッチョイ bbf7-k1u0)
2018/01/09(火) 05:02:51.20ID:A/ESCl++0 可変長は一種類だけで、最後に定義しないといけないみたいですね
無事に機能を実装できました。
質問に答えて下さった方有難う御座いました。
無事に機能を実装できました。
質問に答えて下さった方有難う御座いました。
415デフォルトの名無しさん (ワッチョイ cb75-rVxj)
2018/01/09(火) 08:16:40.42ID:5Fj63PJf0416デフォルトの名無しさん (スップ Sdbf-oFSC)
2018/01/09(火) 08:29:24.71ID:yV0bRmzSd >>415
なぜ?
なぜ?
417デフォルトの名無しさん (ガックシ 067f-rVxj)
2018/01/09(火) 08:58:27.18ID:jhkCquMi6 >>416
hoge(arg=1, args=2, arcs=3, n=2)
↑
argsの配列感がない上に1,2,3っていう順番付けが曖昧
hoge((arg=1, 2, 3,) n=2)
↑
こんな文法を作ったとしても、もう配列で良いよねってなる
説明させんなよメンドくせえな
hoge(arg=1, args=2, arcs=3, n=2)
↑
argsの配列感がない上に1,2,3っていう順番付けが曖昧
hoge((arg=1, 2, 3,) n=2)
↑
こんな文法を作ったとしても、もう配列で良いよねってなる
説明させんなよメンドくせえな
418デフォルトの名無しさん (オッペケ Srcf-4aXV)
2018/01/09(火) 12:19:24.01ID:EqlP/XAyr なぜ>>417はこの程度の理解で答えたがるのか?
他人事と思わず皆考えてみよう
他人事と思わず皆考えてみよう
419デフォルトの名無しさん (ガックシ 067f-rVxj)
2018/01/09(火) 12:47:31.69ID:p+9rZZ3s6 具体的に指摘できないなら喋んな
420デフォルトの名無しさん (ブーイモ MM0f-jqvb)
2018/01/09(火) 12:48:02.08ID:xZogmC5hM >>419
同意する
同意する
421デフォルトの名無しさん (ワッチョイ dfeb-Ogju)
2018/01/09(火) 12:48:04.59ID:tXr0nFdK0 rubyも昔は可変長引数は最後の仕様だったけど、今は途中でも大丈夫になってる
結局は作ってる人のやる気次第だな
結局は作ってる人のやる気次第だな
422デフォルトの名無しさん (ガックシ 067f-rVxj)
2018/01/09(火) 12:59:33.58ID:jhkCquMi6423デフォルトの名無しさん (ワッチョイ ef9d-/oj5)
2018/01/09(火) 17:14:14.89ID:GTddlW8V0 rubyってオーバーロード出来るの?
424デフォルトの名無しさん (ワッチョイ bbeb-nOrU)
2018/01/09(火) 18:29:21.69ID:TMj71yN00 async/awaitを使った際の実行の流れの図があったら誰か見せてくれんかな
425デフォルトの名無しさん (ワッチョイ 7b17-Ogju)
2018/01/09(火) 18:34:44.72ID:KiSnx3XP0426デフォルトの名無しさん
2018/01/09(火) 18:38:13.58 awaitのコードがコンパイラでどう変形させられるかの記事見たほうが分かりやすい
http://tech.blog.aerie.jp/entry/2015/08/29/022932
http://tech.blog.aerie.jp/entry/2015/08/29/022932
427デフォルトの名無しさん (ワッチョイ bbeb-nOrU)
2018/01/09(火) 18:57:43.08ID:TMj71yN00 ありがとうございます
図はよくわからなかった点も多いので、ゆっくり記事を読んできます
図はよくわからなかった点も多いので、ゆっくり記事を読んできます
428デフォルトの名無しさん (アウアウエー Sa3f-iSeT)
2018/01/09(火) 21:30:26.03ID:ENZhQsZea >>424
@ITの記事にはシーケンス図っぽいのが載ってるよ
http://www.atmarkit.co.jp/fdotnet/chushin/masterasync_02/masterasync_02_01.html
@ITの記事にはシーケンス図っぽいのが載ってるよ
http://www.atmarkit.co.jp/fdotnet/chushin/masterasync_02/masterasync_02_01.html
429デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/10(水) 01:25:16.09ID:rjHbKDY9a >>428
こう言う間違った図が人を惑わせる
こう言う間違った図が人を惑わせる
430デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/10(水) 01:27:32.14ID:rjHbKDY9a よくみたら間違った図ではないが
使う上でなんの説明にもなってない図に訂正
この図だけをみると初心者がハマる
使う上でなんの説明にもなってない図に訂正
この図だけをみると初心者がハマる
431デフォルトの名無しさん (アウアウエー Sa3f-iSeT)
2018/01/10(水) 01:37:54.23ID:9VtjyWrsa ↑の人はたぶんコードと図で1セットになってることに気付かずに
図だけ見てそう言ってるか、あるいはなんか思いっきり勘違いしてるだけだと思うから
安心して参考にしていいと思うw
図だけ見てそう言ってるか、あるいはなんか思いっきり勘違いしてるだけだと思うから
安心して参考にしていいと思うw
432デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/10(水) 01:50:58.29ID:rjHbKDY9a 説明するのが非常に難しいんだけど
async/awaitの挙動をまともに書いてる記事が少ない
有名人でも間違った解説をしてる
async/awaitの挙動をまともに書いてる記事が少ない
有名人でも間違った解説をしてる
433デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/10(水) 01:55:51.66ID:rjHbKDY9a >「メソッドを一時中断し、awaitされた処理の完了を待って残りの処理を再開する」
非常にグレーな表現
>@に続けてAの処理が別スレッド上で開始される
非常にグレーな表現
HevyWork()の中身が必ずすべて別スレッド上で行われてるわけではない
非常にグレーな表現
>@に続けてAの処理が別スレッド上で開始される
非常にグレーな表現
HevyWork()の中身が必ずすべて別スレッド上で行われてるわけではない
434デフォルトの名無しさん (ワッチョイ 0fe8-Ogju)
2018/01/10(水) 01:58:10.55ID:av8HDoY10 正しい図を描いてアップしてもらえませんか
435デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/10(水) 01:59:38.89ID:rjHbKDY9a 出来たら苦労しない
場合訳が複雑なので
非常にめんどくさい
場合訳が複雑なので
非常にめんどくさい
436デフォルトの名無しさん (アウアウエー Sa3f-iSeT)
2018/01/10(水) 02:01:30.99ID:9VtjyWrsa 言っちゃ悪いけど、これも立派な2ch脳だね
羊たちの沈黙にあった台詞だけど、その批判的精神を自分自身に向けるだけの理性はないのかw
羊たちの沈黙にあった台詞だけど、その批判的精神を自分自身に向けるだけの理性はないのかw
437デフォルトの名無しさん (アウアウエー Sa3f-iSeT)
2018/01/10(水) 02:02:34.65ID:9VtjyWrsa438デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/10(水) 02:03:23.76ID:rjHbKDY9a それぞれがそれぞれの心の中でお前が言うなと思う
上にあった図を参考にしてるといつか全然思った通りに動かなくなり?マークになる
上にあった図を参考にしてるといつか全然思った通りに動かなくなり?マークになる
439デフォルトの名無しさん (ワッチョイ 9f7c-Ogju)
2018/01/10(水) 05:30:31.38ID:t7WvUySz0 UnityってC#どのくらい使えると触れるの?
440デフォルトの名無しさん (ワッチョイ 0f80-41Gj)
2018/01/10(水) 07:12:09.78ID:8FRtzSYP0 初めてのJavaScript 第3版、オライリー、2017
JS には、async/await が無いから、
この本では、generator runner の仕組みを説明している。
co, Koa というライブラリを使う
非同期処理は異なるコンテキストで、
別のスレッド・プロセスだから、どこを実行しているのか分からない。
実行順番も制御できないし、例外処理も使えない
generator runner は非同期処理を、yield で待つように作る。
これにより、非同期処理を同期処理のコンテキストに当てはめるから、
実行順番を制御できるし、例外処理も使える
try{
yield promise 非同期処理
} catch {
}
JS には、async/await が無いから、
この本では、generator runner の仕組みを説明している。
co, Koa というライブラリを使う
非同期処理は異なるコンテキストで、
別のスレッド・プロセスだから、どこを実行しているのか分からない。
実行順番も制御できないし、例外処理も使えない
generator runner は非同期処理を、yield で待つように作る。
これにより、非同期処理を同期処理のコンテキストに当てはめるから、
実行順番を制御できるし、例外処理も使える
try{
yield promise 非同期処理
} catch {
}
441440 (ワッチョイ 0f80-41Gj)
2018/01/10(水) 07:52:38.82ID:8FRtzSYP0 異なるコンテキストとは、同じソースコードに書いていても、
OS から見ると、別のプロセス・スレッド・実行単位になる
OS は、1秒間に数万回も、実行単位を切り替える(コンテキストスイッチ)から、
今、別の実行単位の、どのコードが実行されているかは、全く分からないし、制御もできない
別の実行単位に対してできることは、
タスクの終了を待つか、タイムアウトするか、タスクを止めてもらうかだけ
OS から見ると、別のプロセス・スレッド・実行単位になる
OS は、1秒間に数万回も、実行単位を切り替える(コンテキストスイッチ)から、
今、別の実行単位の、どのコードが実行されているかは、全く分からないし、制御もできない
別の実行単位に対してできることは、
タスクの終了を待つか、タイムアウトするか、タスクを止めてもらうかだけ
442デフォルトの名無しさん (スップ Sdbf-oFSC)
2018/01/10(水) 07:54:58.52ID:dKgg5RtTd443デフォルトの名無しさん (ワッチョイ 4b23-lku/)
2018/01/10(水) 08:02:12.05ID:hRyz+G9b0 句読点君のレスを判定するアルゴリズムを作ろう
機械学習の勉強によさそう
機械学習の勉強によさそう
444デフォルトの名無しさん (ワッチョイ 1bf2-Ogju)
2018/01/10(水) 08:27:22.17ID:fLUpXSTQ0 >co, Koa というライブラリを使う
あぁ、このアホか。C#スレまで出張ってきてうざいな。
あぁ、このアホか。C#スレまで出張ってきてうざいな。
445デフォルトの名無しさん (アウアウウー Sa8f-aKZ8)
2018/01/10(水) 10:57:56.79ID:zuSWugfya 話の流れが見えない
非同期処理的
非同期処理的
446デフォルトの名無しさん (アウアウカー Sa4f-Sycn)
2018/01/10(水) 15:47:45.43ID:0NEBj+IAa C#始めて1カ月程度の初心者です
trackbarの値をBackgroundWorkerに渡して、その値を使って別スレッドで画像を生成して、whileとReportProgressでtrackbarの変更に合わせて画像を表示していくプログラムを作っているんですが、
trackbarの値をBackgroundWorker_DoWorkに渡すのってどうやるんですか?
別スレッドなので、trackbar.Valueでそのまま使う事ができなくて…
デバッグ無しの実行ならよく分からないですが、そのまま使っても実行できて上手く画像表示されている事が確認できたので、
スレッド間でtrackbarの値を渡すのだけが上手くいかなくて悩んでます
trackbarの値をBackgroundWorkerに渡して、その値を使って別スレッドで画像を生成して、whileとReportProgressでtrackbarの変更に合わせて画像を表示していくプログラムを作っているんですが、
trackbarの値をBackgroundWorker_DoWorkに渡すのってどうやるんですか?
別スレッドなので、trackbar.Valueでそのまま使う事ができなくて…
デバッグ無しの実行ならよく分からないですが、そのまま使っても実行できて上手く画像表示されている事が確認できたので、
スレッド間でtrackbarの値を渡すのだけが上手くいかなくて悩んでます
447デフォルトの名無しさん
2018/01/10(水) 15:54:42.58 トラックバーの値変更イベントのイベントハンドラでフォームのフィールドにトラックバーの値を保持しておく
それをバックグラウンドワーカーで読み取る
それをバックグラウンドワーカーで読み取る
448デフォルトの名無しさん (ガックシ 067f-Sycn)
2018/01/10(水) 16:15:46.81ID:+iIpBJgq6 >>447
それって両スレッド共通の変数を作っておいてトラックバーが動いた時のイベントハンドラでその変数に値を保存していくって事ですよね?
それも試したんですが、よくわからないエラーが発生して動作が止まってしまいました
それって両スレッド共通の変数を作っておいてトラックバーが動いた時のイベントハンドラでその変数に値を保存していくって事ですよね?
それも試したんですが、よくわからないエラーが発生して動作が止まってしまいました
449デフォルトの名無しさん
2018/01/10(水) 16:16:37.99 それか、Invokeでアクセスする
// コントロールが破棄されてないかチェック
if (trackbar.IsDisposed)
return;
var value = 0;
// Invokeが必要かチェック
if(trackbar.InvokeRequired) {
Invoke((MethodInvoker)(() => {
value = trackbar.Value;
}));
} else {
value = trackbar.Value;
}
// コントロールが破棄されてないかチェック
if (trackbar.IsDisposed)
return;
var value = 0;
// Invokeが必要かチェック
if(trackbar.InvokeRequired) {
Invoke((MethodInvoker)(() => {
value = trackbar.Value;
}));
} else {
value = trackbar.Value;
}
450デフォルトの名無しさん
2018/01/10(水) 16:19:33.71 >>448
じゃあ、値変更イベントハンドラ内でトラックバーの値をフィールドに設定するところと、バックグラウンドワーカーでそのフィールドから値を読み出すところを、lock{...}で囲む
じゃあ、値変更イベントハンドラ内でトラックバーの値をフィールドに設定するところと、バックグラウンドワーカーでそのフィールドから値を読み出すところを、lock{...}で囲む
451デフォルトの名無しさん (ブーイモ MM7f-jqvb)
2018/01/10(水) 16:24:33.20ID:yZjeHBZDM その処理は別スレッドでないと出来ないのか?
という身もフタもない突っ込み
という身もフタもない突っ込み
452デフォルトの名無しさん
2018/01/10(水) 16:33:02.39 lock (トラックバーの値を保持してる変数) { ... } のミスでした
453デフォルトの名無しさん (ガックシ 067f-Sycn)
2018/01/10(水) 16:33:27.10ID:+iIpBJgq6454デフォルトの名無しさん
2018/01/10(水) 16:35:01.84 >>453
async/awaitでいいのでは?
async/awaitでいいのでは?
455デフォルトの名無しさん (ガックシ 067f-Sycn)
2018/01/10(水) 17:01:05.31ID:+iIpBJgq6456デフォルトの名無しさん (ワッチョイ 9f06-hL1C)
2018/01/10(水) 17:06:36.89ID:5BQfLz2R0457デフォルトの名無しさん (ガックシ 067f-Sycn)
2018/01/10(水) 17:17:37.84ID:+iIpBJgq6 >>456
それってバックグランドワーカーを開始する時に値を渡す事ですか?
WhileとReportProgressで画像表示していて、バックグランドワーカーは止まらないので開始時の値を引き渡すのだけでは、トラックバーの値変更に対応できなさそうですが、できるんですか?
的外れな事言ってたらすみません。
まだ学び始めたばかりでわからない事だらけなので
ちなみに画像生成に使うトラックバーは7本あります
それってバックグランドワーカーを開始する時に値を渡す事ですか?
WhileとReportProgressで画像表示していて、バックグランドワーカーは止まらないので開始時の値を引き渡すのだけでは、トラックバーの値変更に対応できなさそうですが、できるんですか?
的外れな事言ってたらすみません。
まだ学び始めたばかりでわからない事だらけなので
ちなみに画像生成に使うトラックバーは7本あります
458デフォルトの名無しさん
2018/01/10(水) 17:18:24.71459デフォルトの名無しさん (ワッチョイ 0f9a-+W2v)
2018/01/10(水) 17:42:20.90ID:8CBJwk4h0 >>448
処理イベントを多重呼び出ししていない?
busyのときは呼ばないように
>>446
>whileとReportProgressでtrackbarの変更に合わせて
ReportProgressでは元のスレッドのコントロールにアクセスできるからこの意味がいまいちわからないが
とりあえず
・BackgroundWorker_DoWorkに渡す
https://dobon.net/vb/dotnet/programing/displayprogress.html#backgroundworker
呼び出す側
int value=trackbar.Value;
BackgroundWorker1.RunWorkerAsync(value);
Do_Work側
int value=(int)e.Argument;
>>453
>割と重い処理なので、同じスレッドのトラックバーのイベントハンドラで処理を行うと、トラックバーの動きがかくついて
かくつかない程度に仮処理用の縮小画像を作る
>>457
>トラックバーの値変更に対応できなさそうですが
リアルタイムに反映は理屈から言うと無理
処理量が少なければそう見えるようにも作れるから画像が大きければトラックバー動作中は縮小画像で
処理イベントを多重呼び出ししていない?
busyのときは呼ばないように
>>446
>whileとReportProgressでtrackbarの変更に合わせて
ReportProgressでは元のスレッドのコントロールにアクセスできるからこの意味がいまいちわからないが
とりあえず
・BackgroundWorker_DoWorkに渡す
https://dobon.net/vb/dotnet/programing/displayprogress.html#backgroundworker
呼び出す側
int value=trackbar.Value;
BackgroundWorker1.RunWorkerAsync(value);
Do_Work側
int value=(int)e.Argument;
>>453
>割と重い処理なので、同じスレッドのトラックバーのイベントハンドラで処理を行うと、トラックバーの動きがかくついて
かくつかない程度に仮処理用の縮小画像を作る
>>457
>トラックバーの値変更に対応できなさそうですが
リアルタイムに反映は理屈から言うと無理
処理量が少なければそう見えるようにも作れるから画像が大きければトラックバー動作中は縮小画像で
460デフォルトの名無しさん (アウアウエー Sa3f-iSeT)
2018/01/10(水) 17:43:56.21ID:ZlAR0fHNa >>455
>>446と同一人物?
仕様の詳細が分からんので断定はできないけど、
断片的な情報から判断すると
(1) 無限ループでTrackbar.Valueをポーリングして
(2) 変化を検出したら画像生成を開始
(3) 完了したらBackgroundWorkder.ReportProgressを呼んで
UIスレッドで画像を表示
こういうこと?
もしこうなら、スレッドで無限ループ回すって発想がたぶん間違ってる。
諸事情でBackgroundWorkderを使う必要があるにしても
Trackbar.ValueCangedイベントでBackgroundWorker.RunWorkerAsyncを
呼んで都度画像生成処理を開始するようにした方がいいんじゃないの?
それならTrackbar.ValueはRunWorkerAsyncの引数で渡せる
>>446と同一人物?
仕様の詳細が分からんので断定はできないけど、
断片的な情報から判断すると
(1) 無限ループでTrackbar.Valueをポーリングして
(2) 変化を検出したら画像生成を開始
(3) 完了したらBackgroundWorkder.ReportProgressを呼んで
UIスレッドで画像を表示
こういうこと?
もしこうなら、スレッドで無限ループ回すって発想がたぶん間違ってる。
諸事情でBackgroundWorkderを使う必要があるにしても
Trackbar.ValueCangedイベントでBackgroundWorker.RunWorkerAsyncを
呼んで都度画像生成処理を開始するようにした方がいいんじゃないの?
それならTrackbar.ValueはRunWorkerAsyncの引数で渡せる
461デフォルトの名無しさん (ワッチョイ 0f9a-+W2v)
2018/01/10(水) 17:51:28.39ID:8CBJwk4h0 >>460
ブラウザ部分同じだから同一人物で間違いない
>>457
次からレス番でコテハン付けて
一応捕捉でRunWorkerAsyncの引数はobjectなので
https://msdn.microsoft.com/ja-jp/library/f00zz5b2(v=vs.110).aspx
受ける側でキャストしたらListでも配列でも使える
ブラウザ部分同じだから同一人物で間違いない
>>457
次からレス番でコテハン付けて
一応捕捉でRunWorkerAsyncの引数はobjectなので
https://msdn.microsoft.com/ja-jp/library/f00zz5b2(v=vs.110).aspx
受ける側でキャストしたらListでも配列でも使える
462デフォルトの名無しさん (アウアウエー Sa3f-iSeT)
2018/01/10(水) 17:54:40.44ID:ZlAR0fHNa ただこの場合でも、ValueCangedはたぶんユーザーがつまみを動かかしている間は
逐次的にイベントが発生しちゃうと思うから、BackgroundWorker.RunWorkerAsyncを
コールするのは、例えばValueCangedが発生しなくなってから1秒後、みたいな工夫がたぶん必要になるのかな
知らんけど
逐次的にイベントが発生しちゃうと思うから、BackgroundWorker.RunWorkerAsyncを
コールするのは、例えばValueCangedが発生しなくなってから1秒後、みたいな工夫がたぶん必要になるのかな
知らんけど
463デフォルトの名無しさん
2018/01/10(水) 18:00:54.81464デフォルトの名無しさん (ワッチョイ 39f7-RcqZ)
2018/01/11(木) 01:51:14.39ID:fK8uCW920 public void testA()
{
bool error=false;
error=true;
if (error == true) { return; }
textBox1.Text = "ok";
}
error=true;
if (error == true) { return; } をまとめてメソッドtestBにするにはどうすればいいでしょうか
testAの中でtestBを実行し、testBでエラーが出たらtestAもそこで処理を中止して
textBox1.Text = "ok";を実行しない
というプログラムを作りたいのですが
{
bool error=false;
error=true;
if (error == true) { return; }
textBox1.Text = "ok";
}
error=true;
if (error == true) { return; } をまとめてメソッドtestBにするにはどうすればいいでしょうか
testAの中でtestBを実行し、testBでエラーが出たらtestAもそこで処理を中止して
textBox1.Text = "ok";を実行しない
というプログラムを作りたいのですが
465デフォルトの名無しさん
2018/01/11(木) 02:26:04.02 これじゃダメ?
―――――――――
...
var error = testB();
if(error) return;
...
―――――――――
public bool testB(){
var error=false;
error=true;
if(error) return true;
retrun false;
}
―――――――――
―――――――――
...
var error = testB();
if(error) return;
...
―――――――――
public bool testB(){
var error=false;
error=true;
if(error) return true;
retrun false;
}
―――――――――
466デフォルトの名無しさん (ワッチョイ 39f7-RcqZ)
2018/01/11(木) 02:53:49.75ID:fK8uCW920467デフォルトの名無しさん (ワッチョイ 4a0f-QpsD)
2018/01/11(木) 04:20:02.74ID:9ePH9NvT0 Janeでいう画像のようなフォームを作りたいのですが、
フォームにはどのようなコントロールを配置しているのでしょうか?
列名にはButton、一覧はListBoxのように見えます。
https://imgur.com/a/mOqw6
フォームにはどのようなコントロールを配置しているのでしょうか?
列名にはButton、一覧はListBoxのように見えます。
https://imgur.com/a/mOqw6
468デフォルトの名無しさん (ドコグロ MM12-J7fK)
2018/01/11(木) 07:57:27.54ID:W1ryMExAM >>464
> testAの中でtestBを実行し、testBでエラーが出たらtestAもそこで処理を中止して
> textBox1.Text = "ok";を実行しない
例外で一気に抜ければいいだろ
> testAの中でtestBを実行し、testBでエラーが出たらtestAもそこで処理を中止して
> textBox1.Text = "ok";を実行しない
例外で一気に抜ければいいだろ
469デフォルトの名無しさん
2018/01/11(木) 09:55:11.66470デフォルトの名無しさん
2018/01/11(木) 09:58:05.61 あと、多分FullRowSelectプロパティをオンにしないと行をクリックしたときに一列分しか色が付かない
471デフォルトの名無しさん
2018/01/11(木) 11:50:13.87 ListBoxじゃなくてListViewだったわ
472デフォルトの名無しさん (ワッチョイ 4a0f-nl4B)
2018/01/11(木) 18:47:50.43ID:9ePH9NvT0473デフォルトの名無しさん (ワッチョイ 9ee7-p0TQ)
2018/01/12(金) 02:16:04.35ID:gpUPMxg50 今ってC#なら何でもできる時代か?webページもゲームもWindowsアプリもandroidも
474デフォルトの名無しさん (ワッチョイ 969c-zueB)
2018/01/12(金) 08:59:21.85ID:uVEH64eZ0 初めて目にしたものに万能感を感じてるだけ、刷り込みという
475デフォルトの名無しさん (ワッチョイ 59e3-oih1)
2018/01/12(金) 09:11:32.29ID:2hN5vnhI0 でもここまで全部作れる時代ってないんじゃん?
全部c言語の時代以来だな
全部c言語の時代以来だな
476デフォルトの名無しさん
2018/01/12(金) 09:13:00.90 さすが大企業
477デフォルトの名無しさん (ブーイモ MMc9-XZ0y)
2018/01/12(金) 09:23:53.14ID:4yLgM4ukM アプリ開発言語としてはWebのフロントエンドを除けばほぼ何でもできるので
目下最も万能な言語であることには違いないが、道具を前提にして物事を考える癖がつくと頭悪くなるから一つに拘るのはお勧めしないな
目下最も万能な言語であることには違いないが、道具を前提にして物事を考える癖がつくと頭悪くなるから一つに拘るのはお勧めしないな
478デフォルトの名無しさん
2018/01/12(金) 09:27:14.08 >道具を前提にして物事を考える
解説頼む
解説頼む
479デフォルトの名無しさん (ワッチョイ 6d4b-Xh6c)
2018/01/12(金) 09:28:54.75ID:4fjc3EU00 金のハンマーか
ハンターチャンス
ハンターチャンス
480デフォルトの名無しさん (ワッチョイ 59e3-oih1)
2018/01/12(金) 09:48:35.89ID:2hN5vnhI0 まあ、なんでもいいしね
msにはsilverlightに騙されたのでこの辺の信用は薄い
msにはsilverlightに騙されたのでこの辺の信用は薄い
481デフォルトの名無しさん (ブーイモ MM0a-EosG)
2018/01/12(金) 09:54:47.82ID:1+438Ej9M >>477
WebのフロントエンドはhtmlとJavaScriptという道具を前提とするしか無いが。
WebのフロントエンドはhtmlとJavaScriptという道具を前提とするしか無いが。
482デフォルトの名無しさん (ブーイモ MM0a-EosG)
2018/01/12(金) 09:58:40.77ID:1+438Ej9M >>480
騙されたと言うかJavaScriptの進化が速くてJavaアプレットもオワコン
騙されたと言うかJavaScriptの進化が速くてJavaアプレットもオワコン
483デフォルトの名無しさん (ササクッテロロ Spbd-QAb3)
2018/01/12(金) 12:31:07.50ID:nUBs6Y0Hp なんかWeb系の人多いね
Webとは一切関わらずに来たから
色々と世界の違いを感じるわ
Webとは一切関わらずに来たから
色々と世界の違いを感じるわ
484デフォルトの名無しさん (スッップ Sd0a-6CSh)
2018/01/12(金) 12:34:17.17ID:OH7R1+qFd でぇじょうぶだ。wasmがくる。
485デフォルトの名無しさん (アウアウエー Sa52-UnGo)
2018/01/12(金) 12:55:06.39ID:sc59V6rza 直接の原因はセキュリティ対策を名目にしたプラグイン排除の動きでしょ
486デフォルトの名無しさん (ワッチョイ 59e3-oih1)
2018/01/12(金) 14:37:46.31ID:2hN5vnhI0487デフォルトの名無しさん (ワッチョイ 9ee7-p0TQ)
2018/01/12(金) 14:42:53.15ID:VxcDYdZu0 職につくために限定的な開発だけじゃあ厳しいなってC#なら何でも作れるようにならないとなって思って
488デフォルトの名無しさん
2018/01/12(金) 14:44:49.67 使う言語はおまえが決められないけどな
489デフォルトの名無しさん (ワッチョイ 59e3-oih1)
2018/01/12(金) 14:44:55.45ID:2hN5vnhI0490デフォルトの名無しさん (ササクッテロラ Spbd-euJe)
2018/01/12(金) 16:00:59.66ID:C/maxB41p スタブってのがほんとに分からん…
どんな知識が必要でどんな風に使うのかイメージ出来ん
DAO?とかの概念が自分になくてSQLを扱う部分とロジックがごっちゃになってるとそもそもスタブでなんとかしようってレベルですらないのかな
なにか猿でも分かるような記事とかないですか…
どんな知識が必要でどんな風に使うのかイメージ出来ん
DAO?とかの概念が自分になくてSQLを扱う部分とロジックがごっちゃになってるとそもそもスタブでなんとかしようってレベルですらないのかな
なにか猿でも分かるような記事とかないですか…
491デフォルトの名無しさん (ブーイモ MM81-EosG)
2018/01/12(金) 16:11:30.81ID:mLvyYLexM >>490
スタブってテスト用のダミーの事?
スタブってテスト用のダミーの事?
492デフォルトの名無しさん (アウアウウー Sa21-53ns)
2018/01/12(金) 18:24:00.26ID:C2fpfp9ga493デフォルトの名無しさん (ワッチョイ 59e3-oih1)
2018/01/12(金) 18:39:16.58ID:2hN5vnhI0 酢豚
494デフォルトの名無しさん (ワッチョイ ea06-QpsD)
2018/01/12(金) 19:18:31.62ID:Oe9MQ/U/0 裸の豚がいる、素豚
495デフォルトの名無しさん (ワッチョイ aa19-QpsD)
2018/01/12(金) 19:54:46.80ID:Q+CtiLx/0 >>494
それは地雷踏んでるし素マ○だし。
それは地雷踏んでるし素マ○だし。
496デフォルトの名無しさん (ワッチョイ 6a9a-4PyQ)
2018/01/12(金) 20:48:40.23ID:sVH4h8AJ0 ここ雑談所とかロビーじゃないんで
リンクテンプレにあるんだからワッチョイの無い相談室でやればいいのに
リンクテンプレにあるんだからワッチョイの無い相談室でやればいいのに
497デフォルトの名無しさん (ワッチョイ ea06-QpsD)
2018/01/12(金) 20:54:57.06ID:Oe9MQ/U/0498デフォルトの名無しさん (ワッチョイ 4aa2-UJUP)
2018/01/13(土) 01:59:49.10ID:zim/eiwV0 sqlserverからレコード取得する処理で、dataReaderを別関数に渡して、
そっちでdataReader.Iten("hogehoge")するのってありですか?
一部のカラム名だけが異なる類似レコードの取得処理をまとめたいなあと
そっちでdataReader.Iten("hogehoge")するのってありですか?
一部のカラム名だけが異なる類似レコードの取得処理をまとめたいなあと
499デフォルトの名無しさん (ワッチョイ 3d23-XZ0y)
2018/01/13(土) 08:43:16.67ID:YXV8ZXe20 >>498
それ自体は特に問題はないけど、可能ならDapperとか使った方がいい
それ自体は特に問題はないけど、可能ならDapperとか使った方がいい
500デフォルトの名無しさん (ワッチョイ ea06-QpsD)
2018/01/13(土) 08:44:56.00ID:GojsaP7Y0 >>498
その手の仕事なら、拡張メソッドで書くとスッキリ書けるよ
その手の仕事なら、拡張メソッドで書くとスッキリ書けるよ
501デフォルトの名無しさん (ワッチョイ eab3-J7fK)
2018/01/13(土) 10:33:11.79ID:8qhapkmN0 >>498
Itenがなにかはわからんけど、dataReader を渡すのはありでしょ
Itenがなにかはわからんけど、dataReader を渡すのはありでしょ
502デフォルトの名無しさん (ワッチョイ 11cc-6CSh)
2018/01/13(土) 11:39:34.05ID:bohsitgJ0 Itemなんだろうなぁとは思ったよ
503デフォルトの名無しさん (ワッチョイ 66e8-QpsD)
2018/01/13(土) 15:48:07.46ID:J9QLRP4o0 ItemItemって考えてるとあいてむってなんだっけ?ってなるよね
504デフォルトの名無しさん (ワッチョイ 11cc-6CSh)
2018/01/13(土) 16:27:23.47ID:bohsitgJ0 普通省略するからな
505デフォルトの名無しさん (ワッチョイ a5c9-QpsD)
2018/01/13(土) 17:00:38.69ID:jdkhpG2m0 データが大量の場合は予めカラム名から序数取得しておいて、序数指定にするんだっけか
今はDapperばかりだから忘れたわ
今はDapperばかりだから忘れたわ
506デフォルトの名無しさん (ワッチョイ 5d75-JLCo)
2018/01/13(土) 17:42:17.67ID:GYwe1Ej/0 ダッパーってなあに?
507デフォルトの名無しさん (ワッチョイ 7983-0PCX)
2018/01/13(土) 17:43:12.24ID:LGXgKIg90 結局、DB扱わせたらCOBOL最強という結論か。
508デフォルトの名無しさん (ワッチョイ 969c-zueB)
2018/01/13(土) 18:22:41.37ID:2EuaVelH0 一時期ORMが流行ったがメモリ食いすぎと重すぎて今じゃBI以外で使う機会がない
軽量wrapperを挟んでクエリ直書きの負担を軽減するというのが最近のスタイル
有名なのはDapper、Massive、PetaPocoとか
軽量wrapperを挟んでクエリ直書きの負担を軽減するというのが最近のスタイル
有名なのはDapper、Massive、PetaPocoとか
510デフォルトの名無しさん (ワッチョイ 4aa2-UJUP)
2018/01/13(土) 22:23:31.56ID:zim/eiwV0 498だす
いろいろありがとう
Dapperって知らなかったので調べてみます
いろいろありがとう
Dapperって知らなかったので調べてみます
511デフォルトの名無しさん (ワッチョイ 5e20-y5e1)
2018/01/14(日) 11:58:36.30ID:6wMaD5Pe0 質問させてください
まず、やりたいことは以下です
@c#からネイティブライブラリの関数を呼び出す
A引数としてマネージ側で実装した関数を渡し、ライブラリ側でその関数を呼び返す
Aでマネージ関数と一緒にマネージドオブジェクトを渡したいのですが、そのオブジェクトをGC対象から除外する方法が分かりません
GCHandle.Alloc では blittable なオブジェクトでないとダメだと怒られます
List<int> とかを渡したいのですが…… どうしたらいいでしょうか?
まず、やりたいことは以下です
@c#からネイティブライブラリの関数を呼び出す
A引数としてマネージ側で実装した関数を渡し、ライブラリ側でその関数を呼び返す
Aでマネージ関数と一緒にマネージドオブジェクトを渡したいのですが、そのオブジェクトをGC対象から除外する方法が分かりません
GCHandle.Alloc では blittable なオブジェクトでないとダメだと怒られます
List<int> とかを渡したいのですが…… どうしたらいいでしょうか?
512デフォルトの名無しさん (ワッチョイ 3d23-XZ0y)
2018/01/14(日) 12:44:23.20ID:DNkTPWoH0 >>511
普通にデリゲートをマーシャリングして渡す
呼び出す先が同期的な関数ならGCは考慮不要
非同期的にコールバックしてくるならデリゲートをフィールドに入れておいてGCを防ぐ
デリゲートのマーシャリングは非常に優秀で、メソッド内から外のローカル変数を参照してたりインスタンスフィールドを参照してたりしても問題ない
だからList<int>とかをわざわざ渡す必要はない
普通にデリゲートをマーシャリングして渡す
呼び出す先が同期的な関数ならGCは考慮不要
非同期的にコールバックしてくるならデリゲートをフィールドに入れておいてGCを防ぐ
デリゲートのマーシャリングは非常に優秀で、メソッド内から外のローカル変数を参照してたりインスタンスフィールドを参照してたりしても問題ない
だからList<int>とかをわざわざ渡す必要はない
513512 (ワッチョイ 3d23-XZ0y)
2018/01/14(日) 12:45:29.88ID:DNkTPWoH0 補足
メソッドから参照されてるオブジェクトはデリゲートが生きてる限りはGCされないので、
GC対策としてはデリゲートだけフィールドで保持しとけば十分
メソッドから参照されてるオブジェクトはデリゲートが生きてる限りはGCされないので、
GC対策としてはデリゲートだけフィールドで保持しとけば十分
514511 (ワッチョイ 5e20-y5e1)
2018/01/14(日) 13:56:18.92ID:6wMaD5Pe0515デフォルトの名無しさん (ワッチョイ 39f7-RcqZ)
2018/01/15(月) 08:04:36.45ID:wzT+kwGj0 visualstudio2015でifの条件式の部分が
if(a>1&&
b>1&&
c>1&&
d>1)
となっているのを
if(a>1&&
b>1&&
c>1&&
d>1)
ときれいに揃える方法はないでしょうか?
ctrl+k,ctrl+dではこの部分だけきれいにならず困っています
if(a>1&&
b>1&&
c>1&&
d>1)
となっているのを
if(a>1&&
b>1&&
c>1&&
d>1)
ときれいに揃える方法はないでしょうか?
ctrl+k,ctrl+dではこの部分だけきれいにならず困っています
516デフォルトの名無しさん (ワッチョイ 39f7-RcqZ)
2018/01/15(月) 08:05:35.73ID:wzT+kwGj0 if(a>1&&
b>1&&
c>1&&
d>1)
となっているのを
if(a>1&&
__b>1&&
__c>1&&
__d>1)
_はスペースです
b>1&&
c>1&&
d>1)
となっているのを
if(a>1&&
__b>1&&
__c>1&&
__d>1)
_はスペースです
517デフォルトの名無しさん (ワッチョイ 3d23-XZ0y)
2018/01/15(月) 08:06:30.11ID:rRRRUjz40518デフォルトの名無しさん (ワッチョイ 39f7-RcqZ)
2018/01/15(月) 08:34:59.05ID:wzT+kwGj0 条件式がたくさんある場合はどうすれば見やすく書けるのでしょう…
横に伸びると見にくくて
横に伸びると見にくくて
519デフォルトの名無しさん (ワッチョイ 6681-/vYA)
2018/01/15(月) 08:44:15.19ID:6fJ2ahWY0 自分にあったフォーマッタを
自分で開発すればいいんじゃないの?
出来合いで我慢できないならそれしかないでしょ
幸いにもあなたはプログラマーだ
頑張れ
自分で開発すればいいんじゃないの?
出来合いで我慢できないならそれしかないでしょ
幸いにもあなたはプログラマーだ
頑張れ
520デフォルトの名無しさん (ワッチョイ aad4-1Ifv)
2018/01/15(月) 09:00:59.11ID:vPE1QZCU0 if(a>1&&
b>1&&
c>1&&
d>1)
となっているのを
if(a>1&&
__b>1&&
__c>1&&
__d>1)
_はスペースです
b>1&&
c>1&&
d>1)
となっているのを
if(a>1&&
__b>1&&
__c>1&&
__d>1)
_はスペースです
521デフォルトの名無しさん (ワッチョイ aad4-1Ifv)
2018/01/15(月) 09:02:06.54ID:vPE1QZCU0 if(a>1&&
b>1&&
c>1&&
d>1)
となっているのを
if(a>1&&
__b>1&&
__c>1&&
__d>1)
_はスペースです
b>1&&
c>1&&
d>1)
となっているのを
if(a>1&&
__b>1&&
__c>1&&
__d>1)
_はスペースです
522デフォルトの名無しさん (ワッチョイ 59e3-oih1)
2018/01/15(月) 09:28:26.41ID:dZYU88oU0523デフォルトの名無しさん (ワッチョイ 39f7-RcqZ)
2018/01/15(月) 09:34:40.52ID:wzT+kwGj0 522
それでもいいんですが
____if(a>1
&&b>1
&&c>1
____&&d>1)
貼り付け繰り返してるうちにこうなっちゃったりしてるんですよね
それでもいいんですが
____if(a>1
&&b>1
&&c>1
____&&d>1)
貼り付け繰り返してるうちにこうなっちゃったりしてるんですよね
524デフォルトの名無しさん (スッップ Sd0a-6CSh)
2018/01/15(月) 09:37:21.51ID:MBkuLX1yd 俺だったらIsXXXみたいなboolを返すメソッドに分けちゃう。
525デフォルトの名無しさん (ワッチョイ eaa4-FrwJ)
2018/01/15(月) 10:03:58.56ID:E8Ly8wa60 おれは諦めた。もう好きにフォーマットしてくれたまえ
526デフォルトの名無しさん (ワッチョイ 39f7-RcqZ)
2018/01/15(月) 14:27:32.00ID:wzT+kwGj0 すっぱい葡萄
手に入れたくてたまらないのに、人・物・地位・階級など、努力しても手が届かない対象がある場合、その対象を「価値がない・低級で自分にふさわしくない」ものとみてあきらめ、心の平安を得る。
フロイトの心理学では防衛機制・合理化の例とする。
また、英語圏で「Sour Grapes」は「負け惜しみ」を意味する熟語である。
wikiより
手に入れたくてたまらないのに、人・物・地位・階級など、努力しても手が届かない対象がある場合、その対象を「価値がない・低級で自分にふさわしくない」ものとみてあきらめ、心の平安を得る。
フロイトの心理学では防衛機制・合理化の例とする。
また、英語圏で「Sour Grapes」は「負け惜しみ」を意味する熟語である。
wikiより
527デフォルトの名無しさん (ワッチョイ 39f7-RcqZ)
2018/01/15(月) 14:28:13.93ID:wzT+kwGj0 誤爆
528デフォルトの名無しさん (ガックシ 063e-JLCo)
2018/01/15(月) 14:30:17.74ID:H/ZiF0K36 わざとらし
529デフォルトの名無しさん (スッップ Sd0a-6CSh)
2018/01/15(月) 14:55:45.45ID:AxPygC8od ふふってなった
530デフォルトの名無しさん (ワッチョイ eab3-J7fK)
2018/01/15(月) 23:31:54.06ID:D5A33j6W0531デフォルトの名無しさん (ワッチョイ 59e3-oih1)
2018/01/15(月) 23:38:16.13ID:dZYU88oU0532デフォルトの名無しさん (ワッチョイ eab3-J7fK)
2018/01/15(月) 23:46:30.01ID:D5A33j6W0533デフォルトの名無しさん (アウアウエー Sa52-UnGo)
2018/01/15(月) 23:51:57.61ID:NNVQY+KWa もう書いてる人いるけど、こういうのは結局自分の(ほとんどの場合はくだらない)
こだわりの方を修正する方が早い。
っていうか頭を揃えたら見やすいって感覚はちょっと理解不能
間違いなくただの思い込みだと断言できる
こだわりの方を修正する方が早い。
っていうか頭を揃えたら見やすいって感覚はちょっと理解不能
間違いなくただの思い込みだと断言できる
534デフォルトの名無しさん (アウアウウー Sa21-53ns)
2018/01/15(月) 23:52:49.97ID:6y3nyQLRa もうbool返すメソッド作れよ
bool AllUnderOne(a,b,c,d)
bool AllUnderOne(a,b,c,d)
535デフォルトの名無しさん (アウアウエー Sa52-UnGo)
2018/01/15(月) 23:58:52.41ID:NNVQY+KWa んなことしなくてもifに長い式書くのが嫌なら適当な使い捨ての変数を導入するだけでしょ
536デフォルトの名無しさん (ワッチョイ ea06-QpsD)
2018/01/16(火) 13:31:13.30ID:i7+6byhr0 でかくて長い画面を買うってのが一番の解決法かも
537デフォルトの名無しさん (ササクッテロラ Spbd-euJe)
2018/01/16(火) 15:15:48.68ID:ugMFq+erp 結局staticって何が有用でどういう時に使うものなの?
解説読んでもこれが何に活かされるのか分からない…
解説読んでもこれが何に活かされるのか分からない…
538デフォルトの名無しさん
2018/01/16(火) 15:30:00.66 おまえMathクラス使わんの?string.Joinも?
539デフォルトの名無しさん (スップ Sdea-ic3a)
2018/01/16(火) 15:37:01.06ID:a4mp8S6Kd >>523
Code alignmentって拡張機能があるから使ってみれば?
Code alignmentって拡張機能があるから使ってみれば?
540デフォルトの名無しさん (スッップ Sd0a-6CSh)
2018/01/16(火) 15:56:31.20ID:MHWq/GyWd ちなみにstaticな変数の話?
staticなメソッドの話?
staticなメソッドの話?
541デフォルトの名無しさん (アウアウエー Sa52-UnGo)
2018/01/16(火) 16:04:17.06ID:PrX1Owa0a インスタンスおじさん誕生の瞬間であった
542デフォルトの名無しさん (ブーイモ MM0a-EosG)
2018/01/16(火) 16:15:22.10ID:CjJlQTmDM それはスタティックおじさん誕生じゃないのかと突っ込む
543デフォルトの名無しさん (アウアウウー Sa21-53ns)
2018/01/16(火) 18:17:52.02ID:KK3jsa+Da ここだかどうだかわすれたけど
staticの質問をしてた人が過去にいた
そしてなぜかCの話になったりしていちゃもんつけるだけつけて帰って行った
同じ人かもしれない
staticの質問をしてた人が過去にいた
そしてなぜかCの話になったりしていちゃもんつけるだけつけて帰って行った
同じ人かもしれない
544デフォルトの名無しさん (ワッチョイ 2ab3-1I1E)
2018/01/16(火) 22:11:32.35ID:augwvgTX0 string型の文字列を配列で持ちたいときはlistboxに
文字列をコピーしていく方法よりカッコいい方法ある?
文字列をコピーしていく方法よりカッコいい方法ある?
545デフォルトの名無しさん (ワッチョイ 7983-0PCX)
2018/01/16(火) 22:21:10.24ID:d5RFkyAg0 それは難問だな。
546デフォルトの名無しさん (ワッチョイ 11cc-6CSh)
2018/01/16(火) 22:21:16.14ID:6G3H5uZu0 stringの文字列を配列で持ちたいというのはstring[]ってこと?
listboxに文字列をコピーしていくとは?もうちょっと詳しく。
カッコいい方法というのはC#のコードの書き方という意味で?
listboxに文字列をコピーしていくとは?もうちょっと詳しく。
カッコいい方法というのはC#のコードの書き方という意味で?
548デフォルトの名無しさん (オッペケ Srbd-PxW6)
2018/01/17(水) 12:17:12.42ID:bthN5Jmqr カッコよさが分からない人たちばかりだな
549デフォルトの名無しさん (バッミングク MMb1-TP79)
2018/01/17(水) 12:20:30.00ID:LEuV8dOXM SQLを外部ファイルに出したいのですが、そういうライブラリやフレームワークってあるでしょうか
それとも皆さんオレオレフレームワークを作っているのでしょうか
それとも皆さんオレオレフレームワークを作っているのでしょうか
550デフォルトの名無しさん (ブーイモ MMc9-EosG)
2018/01/17(水) 12:22:20.17ID:kFuDYWJQM エスパーはよ
551デフォルトの名無しさん (オッペケ Srbd-PxW6)
2018/01/17(水) 12:26:19.54ID:bthN5Jmqr オレオレフレームワークもみんなが使えばワレワレフレームワークになる
そーゆーこと
そーゆーこと
552デフォルトの名無しさん (ブーイモ MMc9-EosG)
2018/01/17(水) 12:30:08.90ID:kFuDYWJQM みんなで使える優れたフレームワークはオレオレフレームワークと呼ばれない
553デフォルトの名無しさん (ワッチョイ ea06-QpsD)
2018/01/17(水) 12:33:43.83ID:1hVmVOYN0 >>551
phpでいいじゃん。何が不満?
phpでいいじゃん。何が不満?
554デフォルトの名無しさん (スッップ Sd0a-6CSh)
2018/01/17(水) 12:43:27.55ID:0DWA9qEvd 優しくレスしても返答返してくれないからつれぇわ
555デフォルトの名無しさん (アウアウウー Sa21-53ns)
2018/01/17(水) 13:07:25.77ID:WDfY9ZKSa >>549
何について言ってるのか理解しづらいけど
SQLを外に出すのは悪いことなのでそういうライブラリやフレームワークはない
SQLってただの文字列でしかなくてコンパイル時に間違いがわからない
それを埋め込んでテストを繰り返すことでバグの可能性を限りなく低くしてる
でもORMなどを使っても必ずバグを洗い出せるわけじゃない
何について言ってるのか理解しづらいけど
SQLを外に出すのは悪いことなのでそういうライブラリやフレームワークはない
SQLってただの文字列でしかなくてコンパイル時に間違いがわからない
それを埋め込んでテストを繰り返すことでバグの可能性を限りなく低くしてる
でもORMなどを使っても必ずバグを洗い出せるわけじゃない
556デフォルトの名無しさん (ドコグロ MM12-oih1)
2018/01/17(水) 13:17:11.57ID:ouCdAj12M >>549
ストアドでも
ストアドでも
557デフォルトの名無しさん (ドコグロ MM12-oih1)
2018/01/17(水) 13:19:50.11ID:ouCdAj12M よく考えると形だけ外出ししてもデータ取得後のソースが
SQLによって変わるからあんまり意味ないっつか見にくくなるだけだな
SQLによって変わるからあんまり意味ないっつか見にくくなるだけだな
558549 (バッミングク MMb1-TP79)
2018/01/17(水) 17:56:42.19ID:hVz/jIKcM 質問が下手ですみません
javaのibatisのようなxmlでクエリを外部ファイルに置くようなフレームワークはC♯にあるのでしょうかという質問でした
自分は文字列でコード上に直接クエリを書いており、悪手をやっているのではと不安になり質問しました
ご教示よろしくお願いします
javaのibatisのようなxmlでクエリを外部ファイルに置くようなフレームワークはC♯にあるのでしょうかという質問でした
自分は文字列でコード上に直接クエリを書いており、悪手をやっているのではと不安になり質問しました
ご教示よろしくお願いします
559デフォルトの名無しさん (スップ Sdea-xBNd)
2018/01/17(水) 18:11:05.45ID:XareNapid560デフォルトの名無しさん (スップ Sdea-xBNd)
2018/01/17(水) 18:11:53.34ID:XareNapid 普通にDapper使っとけ
561デフォルトの名無しさん (ブーイモ MMc9-XZ0y)
2018/01/17(水) 18:20:48.34ID:Hv4w1dTIM 今時は全部ソース内に書くのが普通
562デフォルトの名無しさん (スッップ Sd0a-6CSh)
2018/01/17(水) 18:25:50.70ID:0DWA9qEvd 個人的にクエリは定数で宣言して、クラスにまとめる感じで書く。
リフレクション使ってクエリ文字列を引っ張れば管理資料もチョチョイのチョイやで。
リフレクション使ってクエリ文字列を引っ張れば管理資料もチョチョイのチョイやで。
563549 (ワッチョイ 5e76-TP79)
2018/01/17(水) 18:33:33.76ID:2pD1HrQI0 むしろクエリを外部ファイルに書き出すのは古いのですね
参考になります
参考になります
564デフォルトの名無しさん (ワッチョイ 25b3-hYQh)
2018/01/18(木) 15:36:13.66ID:UDaQCIW60 すみません。この場を借りて質問させていただきます。
C#初心者なのですが、wpfで動画再生アプリを作っています。コピペメインです。
MediaElementを使って動画のコントロールはほぼ実装できたのですが、
動画のフルスクリーンからの復帰の仕方が良くわかりません。
(元の画面にうまく戻せません)
フルスクリーンにするときは、こちらを使っています。
layoutRoot.Children.Remove(myMediaElement);
this.Content = myMediaElement;
this.WindowStyle = WindowStyle.None;
this.WindowState = WindowState.Maximized;
戻すときは以下のようにしてみましたが、
this.Content = layoutRoot;
layoutRoot.Children.Add(myMediaElement);
this.WindowStyle = WindowStyle.SingleBorderWindow;
this.WindowState = WindowState.Normal;
System.ArgumentException: '新しい親 Visual に関連付ける前に、指定された子と現在の親 Visual との接続を切断する必要があります。'
と怒られますw 親子の縁はどのように切ったら良いのでしょうか?
よろしくお願いいたします。
C#初心者なのですが、wpfで動画再生アプリを作っています。コピペメインです。
MediaElementを使って動画のコントロールはほぼ実装できたのですが、
動画のフルスクリーンからの復帰の仕方が良くわかりません。
(元の画面にうまく戻せません)
フルスクリーンにするときは、こちらを使っています。
layoutRoot.Children.Remove(myMediaElement);
this.Content = myMediaElement;
this.WindowStyle = WindowStyle.None;
this.WindowState = WindowState.Maximized;
戻すときは以下のようにしてみましたが、
this.Content = layoutRoot;
layoutRoot.Children.Add(myMediaElement);
this.WindowStyle = WindowStyle.SingleBorderWindow;
this.WindowState = WindowState.Normal;
System.ArgumentException: '新しい親 Visual に関連付ける前に、指定された子と現在の親 Visual との接続を切断する必要があります。'
と怒られますw 親子の縁はどのように切ったら良いのでしょうか?
よろしくお願いいたします。
565デフォルトの名無しさん (アウアウウー Sad9-weOF)
2018/01/18(木) 16:39:37.64ID:qgo/qNlCa566デフォルトの名無しさん (ブーイモ MMe9-f6Uj)
2018/01/18(木) 17:04:33.90ID:vq0hr/63M まずはフルスクラッチだな
567デフォルトの名無しさん (ワッチョイ 25b3-hYQh)
2018/01/18(木) 19:23:42.55ID:UDaQCIW60 ぜんぜんわかりまへん。。
568デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/18(木) 19:44:28.00ID:64hUXuXa0 private void savedata()
{
string name = "aaa.txt";
system.IO.StreamWriter sw;
try
{
sw = new IO.StreamWriter(name, false, System.Text.Encoding.GetEncoding("shift_jis"));
sw.WriteLine("aaaa");
}
catch (Exception ex)
{
MsgBox("Savedata error:" + ex.Message);
}
finally
{
sw.Close();
}
}
Newでエラーした場合にはSw.Closeすると落ちるが、何とかならないものだろうか?
{
string name = "aaa.txt";
system.IO.StreamWriter sw;
try
{
sw = new IO.StreamWriter(name, false, System.Text.Encoding.GetEncoding("shift_jis"));
sw.WriteLine("aaaa");
}
catch (Exception ex)
{
MsgBox("Savedata error:" + ex.Message);
}
finally
{
sw.Close();
}
}
Newでエラーした場合にはSw.Closeすると落ちるが、何とかならないものだろうか?
569デフォルトの名無しさん (ワッチョイ 4dcc-GP+B)
2018/01/18(木) 19:49:35.26ID:pMlUf2sf0 if(sw != null) sw.Close();
じゃダメなのかしらん?
じゃダメなのかしらん?
570愛知人
2018/01/18(木) 19:54:23.83ID:9519fNi8 知らんけどusingステートメントでよくね
571デフォルトの名無しさん (ワッチョイ 0b9a-1pyd)
2018/01/18(木) 19:54:45.69ID:tGyPdxm00572デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/18(木) 20:15:34.43ID:64hUXuXa0 あっそうか Nullで検出できたのか。ありがと。Useingってのもあるんだね。
開発モードではエラーしないのに、Setupファイルでインストールすると、書き込み禁止がかかっているような
エラーになるんだがなにが原因だろ。
System.UnauthorizedAccessException: パス 'C:\Program Files (x86)\test14\あああああ.ini' へのアクセスが拒否されました。
開発モードではエラーしないのに、Setupファイルでインストールすると、書き込み禁止がかかっているような
エラーになるんだがなにが原因だろ。
System.UnauthorizedAccessException: パス 'C:\Program Files (x86)\test14\あああああ.ini' へのアクセスが拒否されました。
573デフォルトの名無しさん (ワッチョイ 0b9a-1pyd)
2018/01/18(木) 20:16:33.01ID:tGyPdxm00 >>572
管理者権限は?
管理者権限は?
574デフォルトの名無しさん (ワッチョイ 5d17-x16F)
2018/01/18(木) 20:18:58.56ID:k+CX8kgw0 >>572
WindowsフォルダやProgramFilesフォルダに書き込むには管理者権限が必要
WindowsフォルダやProgramFilesフォルダに書き込むには管理者権限が必要
575デフォルトの名無しさん (ワッチョイ 25b3-GP+B)
2018/01/18(木) 20:29:36.57ID:YPPczFY+0 フォームのデザイナが以下のエラーを吐くのですがどうすればいいですか。
"***.dll"を読み込めません:指定されたモジュールが見つかりません。 (HRESULT からの例外:0x8007007E)
プロジェクトは以下の4つです。
MainForm(C#)
MainView(C#) (MainFormの中でNewされる。DLLsを利用する。)
DLLs(C#) (DLLImportする。)
Drawer(C++) (DLLExportする。dllファイルはビルド後に実行ファイルがある場所にコピーされる。)
コールスタックでは、MainViewのDLLsを使用しているところでエラーがでており、
それをコメントアウトすると、デザイナが表示されます。
"***.dll"を読み込めません:指定されたモジュールが見つかりません。 (HRESULT からの例外:0x8007007E)
プロジェクトは以下の4つです。
MainForm(C#)
MainView(C#) (MainFormの中でNewされる。DLLsを利用する。)
DLLs(C#) (DLLImportする。)
Drawer(C++) (DLLExportする。dllファイルはビルド後に実行ファイルがある場所にコピーされる。)
コールスタックでは、MainViewのDLLsを使用しているところでエラーがでており、
それをコメントアウトすると、デザイナが表示されます。
576デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/18(木) 20:50:42.63ID:64hUXuXa0 >WindowsフォルダやProgramFilesフォルダに書き込むには管理者権限が必要
ありがとう。
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
をいれたら動き出した。しかし立ち上げ時に毎回「この不明なアプリが実行することを許可しますか?」って
Windowsの確認画面がでるんだが、なんとかならないのでしょうか?
ありがとう。
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
をいれたら動き出した。しかし立ち上げ時に毎回「この不明なアプリが実行することを許可しますか?」って
Windowsの確認画面がでるんだが、なんとかならないのでしょうか?
577デフォルトの名無しさん (アウアウエー Sa93-2BHe)
2018/01/18(木) 21:17:58.11ID:6vAFeThoa578デフォルトの名無しさん (ワッチョイ c580-oNRk)
2018/01/18(木) 22:00:15.46ID:Zc8v9cFo0 Program filesにインストールするようなアプリで今時.iniとかちょっと…
579デフォルトの名無しさん (ワッチョイ 5b7f-XKUo)
2018/01/18(木) 22:25:20.18ID:hlxKOq/D0 >>576
コードサイニング証明書取得して、プログラムに署名。
コードサイニング証明書取得して、プログラムに署名。
580デフォルトの名無しさん (ワッチョイ 25b3-GP+B)
2018/01/18(木) 22:50:24.38ID:YPPczFY+0 >>575
質問取り下げます
質問取り下げます
581デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/18(木) 23:30:22.02ID:64hUXuXa0 管理者権限でいつも立ち上げるようにすると確かにアクセスできるようになった。
しかしインストール先 パス を'C:\Program Files (x86)、これをやめれば管理者権限で立ち上げる必要はないのでは?
しかしインストール先 パス を'C:\Program Files (x86)、これをやめれば管理者権限で立ち上げる必要はないのでは?
582デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/18(木) 23:33:43.60ID:64hUXuXa0 >コードサイニング証明書取得して、プログラムに署名。
最高だ。これはいい。
とおもったら金がかかるのか? 残念。
最高だ。これはいい。
とおもったら金がかかるのか? 残念。
583デフォルトの名無しさん (ワッチョイ 2306-GP+B)
2018/01/18(木) 23:58:27.78ID:x+1bimBw0584デフォルトの名無しさん (ワッチョイ 2306-GP+B)
2018/01/19(金) 00:03:38.34ID:b8VvEepP0 訂正アプリケーションデータフォルダ(AppDataってやつね)
585デフォルトの名無しさん (アウアウエー Sa93-2BHe)
2018/01/19(金) 00:13:18.76ID:S8TUMubta 最近流行らないと思うけど、バイナリと同じ場所に設定ファイルを置くのは
バイナリ自体をUSBメモリに入れて持ち歩くような特殊な用途ぐらいだよね
iniファイルでも悪くないと個人的には思うけど、せっかく便利なシリアライザがいろいろあるのに
わざわざ機能的に劣るiniファイルを使う意味はないわなあ
読み書きするコードも自分で書かなきゃならんし
バイナリ自体をUSBメモリに入れて持ち歩くような特殊な用途ぐらいだよね
iniファイルでも悪くないと個人的には思うけど、せっかく便利なシリアライザがいろいろあるのに
わざわざ機能的に劣るiniファイルを使う意味はないわなあ
読み書きするコードも自分で書かなきゃならんし
586デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/19(金) 00:21:35.85ID:reZAGsN60 AppDataってVsのSetupプロジェクトでは作ってくれないですね。Apllicationフォルダーに設定用のデータも入れています。
「iniをつかわない」ってのがあまり意味がわかりませんがいま使っているのは単なるテキストファイルです。
(*.iniという名前にしていますが、)StreemWriterで書いています。XMLに落とすのが普通なのでしょうか?
しかし単に改行だけのファイルで十分なのでXMLにはしていません。
XMLは設定ファイルとしてはわかり難いですし無駄が多いように思います。
それにエディターで気楽に追加ができないです。
「iniをつかわない」ってのがあまり意味がわかりませんがいま使っているのは単なるテキストファイルです。
(*.iniという名前にしていますが、)StreemWriterで書いています。XMLに落とすのが普通なのでしょうか?
しかし単に改行だけのファイルで十分なのでXMLにはしていません。
XMLは設定ファイルとしてはわかり難いですし無駄が多いように思います。
それにエディターで気楽に追加ができないです。
587デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/19(金) 00:26:38.77ID:reZAGsN60 >niファイルでも悪くないと個人的には思うけど、せっかく便利なシリアライザがいろいろあるのに
>わざわざ機能的に劣るiniファイルを使う意味はないわなあ
慣れなんですかね。どうも直観的にわかり難いように思います。だからJsonとかを使う人も多いんではないですか?
>わざわざ機能的に劣るiniファイルを使う意味はないわなあ
慣れなんですかね。どうも直観的にわかり難いように思います。だからJsonとかを使う人も多いんではないですか?
588愛知人
2018/01/19(金) 00:30:36.53ID:5Myz+qXq VisualStudioの機能だが
589デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/19(金) 00:32:41.68ID:reZAGsN60 ”設定”, 20,
とかをStreemReaderで読みこむと何で ””設定””になるんですかね。ストリングにするためにわざわざ「”」をNULLにReplaceしています。
なんかいい方法はないですかね。
とかをStreemReaderで読みこむと何で ””設定””になるんですかね。ストリングにするためにわざわざ「”」をNULLにReplaceしています。
なんかいい方法はないですかね。
590デフォルトの名無しさん (ワッチョイ fde3-nVvH)
2018/01/19(金) 00:38:29.54ID:d7UJaemd0591デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/19(金) 00:45:09.29ID:reZAGsN60 >VisualStudioの機能だが
・AppDataフォルダ:このフォルダは「C:\Users\ユーザー名\AppData」にあります。ほとんどのプログラムの設定ファイル
はここに置かれています(サブフォルダ「Roaming」の中)。プログラム名か開発企業名のフォルダの中に、設定ファイルや
関連データが保存されていますので、フォルダごとバックアップしておきましょう。
こういうもののようですね。だからSetupプロジェクトにはここに入れる設定データのフォルダーがあってしかるべきですがない?みたいですね。
・AppDataフォルダ:このフォルダは「C:\Users\ユーザー名\AppData」にあります。ほとんどのプログラムの設定ファイル
はここに置かれています(サブフォルダ「Roaming」の中)。プログラム名か開発企業名のフォルダの中に、設定ファイルや
関連データが保存されていますので、フォルダごとバックアップしておきましょう。
こういうもののようですね。だからSetupプロジェクトにはここに入れる設定データのフォルダーがあってしかるべきですがない?みたいですね。
592デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/19(金) 00:46:26.55ID:reZAGsN60 すいません。ありました。w
593愛知人
2018/01/19(金) 00:51:07.58ID:5Myz+qXq594デフォルトの名無しさん (アウアウウー Sad9-weOF)
2018/01/19(金) 01:25:20.86ID:LT72Z3Kia バイナリと同じフォルダにiniファイルだと…
アプリケーション1つにつき設定が一個しかないのでユーザーが複数いると困る
たとえば年賀状ソフトで差出人が全てのユーザーで一つしか設定できない
アプリケーション1つにつき設定が一個しかないのでユーザーが複数いると困る
たとえば年賀状ソフトで差出人が全てのユーザーで一つしか設定できない
595デフォルトの名無しさん (ワッチョイ 5523-4b13)
2018/01/19(金) 02:08:01.69ID:IgZPOGcu0 今時複数ユーザーなんか考慮しなくていいだろ
健全なファミリーがお前の作ったアプリを使うとでも?
健全なファミリーがお前の作ったアプリを使うとでも?
596デフォルトの名無しさん (ワッチョイ 25b3-Smji)
2018/01/19(金) 02:36:53.35ID:fKBFwOmr0 j時代の産物だよなあ >1PC複数ユーザ
597デフォルトの名無しさん (ワッチョイ 3deb-v7nw)
2018/01/19(金) 05:47:10.29ID:FgdJ6DNZ0 すまんが、列挙型って関数の引数の型に指定することはできないの?
enum A {B, C ,D};
void E(A a){}//ここでエラー
これを書く事ができれば、エディタのアシストが効きまくってミスが減る気がするんだけど・・・・・
enum A {B, C ,D};
void E(A a){}//ここでエラー
これを書く事ができれば、エディタのアシストが効きまくってミスが減る気がするんだけど・・・・・
598デフォルトの名無しさん (ワッチョイ 23d2-aN4H)
2018/01/19(金) 06:28:55.06ID:0J18wCJz0 できるはず
エラーメッセージはどのようなものですか?
エラーメッセージはどのようなものですか?
599デフォルトの名無しさん (ワッチョイ 5d17-x16F)
2018/01/19(金) 09:34:28.81ID:NgQA6vsH0 同名enumが複数あってエラーとなっているに一票
600デフォルトの名無しさん (アウアウウー Sad9-weOF)
2018/01/19(金) 09:49:45.42ID:6WrKIIOGa 関数内に書いててpublicメソッドにしてるんだろうな
601デフォルトの名無しさん (アウアウウー Sad9-weOF)
2018/01/19(金) 10:03:10.79ID:6WrKIIOGa クラス内に書いててpublicメソッドの引数にしてるの間違い
それかenumをpublicにしてないか
それかenumをpublicにしてないか
602デフォルトの名無しさん (ワッチョイ 03eb-x16F)
2018/01/19(金) 15:16:19.49ID:6h+BHP540 Windows Form のコントロールたちって、ここ10年くらい全くもって変わり映えしてない気がするんだけど
もう改善する気がないのかねぇ
グレープシティ壊滅させるまでやらずとも
テキストボックスの縦位置とか枠線スタイルとか複数列コンボとか、そのくらい対応してくれてもいいと思うんだけど
もう改善する気がないのかねぇ
グレープシティ壊滅させるまでやらずとも
テキストボックスの縦位置とか枠線スタイルとか複数列コンボとか、そのくらい対応してくれてもいいと思うんだけど
603デフォルトの名無しさん (ワッチョイ 5b7f-XKUo)
2018/01/19(金) 21:40:19.48ID:o57JVoz30 >>602
UWPに注力してる以上まずやらんだろ。
UWPに注力してる以上まずやらんだろ。
604デフォルトの名無しさん (アウアウエー Sa93-2BHe)
2018/01/19(金) 21:52:43.88ID:AYT1nS2wa XPに対応したVS2005の時代から変わってないのに何をいまさら感w
605デフォルトの名無しさん (ワッチョイ 5d17-x16F)
2018/01/19(金) 22:00:59.10ID:NgQA6vsH0 >>603
Windows 10 Mobile が事実上終了したんだからUWPに注力する必要ないよね
Windows 10 Mobile が事実上終了したんだからUWPに注力する必要ないよね
606デフォルトの名無しさん (ワッチョイ c580-oNRk)
2018/01/19(金) 22:02:05.49ID:4CF5m12I0 Chartがその後で増えたよ
いやまあBCLに入っていなかっただけで前からあった奴だけど
いやまあBCLに入っていなかっただけで前からあった奴だけど
607デフォルトの名無しさん (ワッチョイ 5b7f-XKUo)
2018/01/19(金) 22:27:33.99ID:o57JVoz30 >>605
GoogleやAppleのまねしたいみたいだから、あがき続けるんじゃないか。
GoogleやAppleのまねしたいみたいだから、あがき続けるんじゃないか。
608デフォルトの名無しさん (ワッチョイ 4d8d-px9Y)
2018/01/19(金) 23:30:36.57ID:199CJjI/0 WinFormsって長いこと触ってないが
今でも線引くのにLabel使うとかアホなことしてるの?
今でも線引くのにLabel使うとかアホなことしてるの?
609愛知人
2018/01/19(金) 23:45:07.67ID:5Myz+qXq 線なんか引くか?
無い物は使わなくてよくね?
無い物は使わなくてよくね?
610デフォルトの名無しさん (アウアウウー Sad9-weOF)
2018/01/19(金) 23:59:59.32ID:6WrKIIOGa 底辺の人は底辺の環境で不思議なことをしてる
普通の人は普通の環境で普通なことをしてる
普通の人は普通の環境で普通なことをしてる
611デフォルトの名無しさん (アウアウエー Sa93-2BHe)
2018/01/20(土) 00:13:34.30ID:2ckAjxI3a >>608-609
ラベルでヘアライン引くのはよくあるしアホでも何でもない
ラベルでヘアライン引くのはよくあるしアホでも何でもない
612デフォルトの名無しさん (ワッチョイ 0b81-pCZf)
2018/01/20(土) 00:20:13.00ID:1eaJngIj0 MSがUWPの宣伝しているのを見る度に
ユニバーサルプラットフォームっていうけど
お宅の会社ってPC以外のプラットフォーム持ってましたっけ?
って煽りたくなる
ユニバーサルプラットフォームっていうけど
お宅の会社ってPC以外のプラットフォーム持ってましたっけ?
って煽りたくなる
613デフォルトの名無しさん (アウアウエー Sa93-2BHe)
2018/01/20(土) 00:23:44.04ID:2ckAjxI3a 実態はともかく構想的にはMS以外ノプラットフォームも対象なんで
その批判は当たらないかと
その批判は当たらないかと
614デフォルトの名無しさん (ワッチョイ 0306-GP+B)
2018/01/20(土) 00:26:56.64ID:j23dmrcl0 とは言え、ギョーミーなアプリ書く上で、マストなものは粗方揃ったわけだし
クライアントがWindows10で揃えられるなら選択肢として悪くない
クライアントがWindows10で揃えられるなら選択肢として悪くない
615デフォルトの名無しさん (ワッチョイ 5523-4b13)
2018/01/20(土) 01:06:06.62ID:5JusgAfv0 とはいえUWPで作れるアプリならWebで十分なんだよね
タッチパネルでの利用を想定しないのであれば、現実的にはあえて選ぶメリットはほとんど無い
タッチパネルでの利用を想定しないのであれば、現実的にはあえて選ぶメリットはほとんど無い
616デフォルトの名無しさん (ワッチョイ 630f-GP+B)
2018/01/21(日) 06:37:48.04ID:eh2o3Efy0 解像度2560×1440のモニタを使っているのですが、Formアプリの解像度が合いません。
原因はサイズを125%に拡大していることで、通常の倍率に戻すとぼやけません。
FormのAutoScaleModeをDpiに設定してみましたが改善されませんでした。
対策をご存知の方がいましたら教えてください。
原因はサイズを125%に拡大していることで、通常の倍率に戻すとぼやけません。
FormのAutoScaleModeをDpiに設定してみましたが改善されませんでした。
対策をご存知の方がいましたら教えてください。
617デフォルトの名無しさん (ワッチョイ bdd3-GP+B)
2018/01/21(日) 08:46:46.21ID:0JbPJogq0 VSの吐くWinformsのテンプレだと自分でdpiAware仕込まなあかんのじゃなかったっけ
618デフォルトの名無しさん (ワッチョイ 630f-GP+B)
2018/01/21(日) 09:07:41.53ID:eh2o3Efy0619デフォルトの名無しさん (ワッチョイ 03eb-x16F)
2018/01/21(日) 09:16:30.01ID:dyzIneF20 >>616
exeを右クリしてプロパティの中の互換設定を弄ると直る
exeを右クリしてプロパティの中の互換設定を弄ると直る
620デフォルトの名無しさん (ワッチョイ 630f-GP+B)
2018/01/21(日) 09:41:48.00ID:eh2o3Efy0621愛知人
2018/01/21(日) 12:27:01.84ID:w5iluM1L つまり他のソフトもボヤけてるんだな。
XPExplorerインストールすればいいのに。
XPExplorerインストールすればいいのに。
622デフォルトの名無しさん (ワッチョイ 630f-Qwpo)
2018/01/21(日) 19:16:00.62ID:eh2o3Efy0623デフォルトの名無しさん (ワッチョイ 630f-Qwpo)
2018/01/21(日) 19:17:14.71ID:eh2o3Efy0 早速インストールしたら好調でした
ありがとうございます!
ありがとうございます!
624デフォルトの名無しさん (ワッチョイ 630f-Qwpo)
2018/01/21(日) 19:18:01.63ID:eh2o3Efy0625デフォルトの名無しさん (ワッチョイ a3d4-4jNr)
2018/01/22(月) 01:46:46.64ID:B9qWH8zv0626デフォルトの名無しさん (ワッチョイ a3d4-4jNr)
2018/01/22(月) 01:47:44.83ID:B9qWH8zv0627デフォルトの名無しさん (ワッチョイ a3d4-4jNr)
2018/01/22(月) 01:48:45.74ID:B9qWH8zv0628愛知人
2018/01/22(月) 01:49:30.11ID:f1RuTEDX うっせーよカス
629デフォルトの名無しさん (ワッチョイ a3d4-4jNr)
2018/01/22(月) 01:50:19.37ID:B9qWH8zv0630デフォルトの名無しさん (ワッチョイ a3d4-4jNr)
2018/01/22(月) 01:51:06.43ID:B9qWH8zv0631デフォルトの名無しさん (ワッチョイ a3d4-4jNr)
2018/01/22(月) 01:52:13.61ID:B9qWH8zv0632デフォルトの名無しさん (ワッチョイ fde3-nVvH)
2018/01/22(月) 07:20:56.54ID:2aQrNvno0 普通にNGID
633デフォルトの名無しさん (ワッチョイ 5bd6-pQa0)
2018/01/22(月) 15:17:28.34ID:rsQqa0Zv0 public static SqlConnection connect = new SqlConnection("接続文字列");
public static SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Table", connect);
public static DataTable dt = new DataTable();
private void Form_Load(object sender, EventArgs e)
{
sda.Fill(dt);
DataGridView1.DataSource = dt;
}
private void button_publish_Click(object sender, EventArgs e)
{
connect.Open();
〜Tablesへの改変処理
connect.Close();
dt = new DataTable();
sda.Fill(dt);//★
}
Table内容をSqlDataAdapterを使い、データテーブルに入れ込んで、DataGridViewに表示させた後、
Table内容を変更後、再びDataGridViewに表示させるとき、例外がスローされます。
★の部分で、「System.InvalidOperationException: 'ConnectionString プロパティは初期化されていません。'」が出ます。
最新のデータを同じDataGridViewで見るには、どのようにすればよいのでしょうか?
public static SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Table", connect);
public static DataTable dt = new DataTable();
private void Form_Load(object sender, EventArgs e)
{
sda.Fill(dt);
DataGridView1.DataSource = dt;
}
private void button_publish_Click(object sender, EventArgs e)
{
connect.Open();
〜Tablesへの改変処理
connect.Close();
dt = new DataTable();
sda.Fill(dt);//★
}
Table内容をSqlDataAdapterを使い、データテーブルに入れ込んで、DataGridViewに表示させた後、
Table内容を変更後、再びDataGridViewに表示させるとき、例外がスローされます。
★の部分で、「System.InvalidOperationException: 'ConnectionString プロパティは初期化されていません。'」が出ます。
最新のデータを同じDataGridViewで見るには、どのようにすればよいのでしょうか?
634デフォルトの名無しさん (ワッチョイ 5d17-x16F)
2018/01/22(月) 15:55:14.43ID:O29q6QQC0 >connect.Close();
接続切ったらそりゃエラーになるでしょ
接続切ったらそりゃエラーになるでしょ
635633 (ワッチョイ 5bd6-pQa0)
2018/01/22(月) 16:09:10.00ID:rsQqa0Zv0 connect.Open();//★
sda.Fill(dt);
connect.Close();
としたら、★マークのところで、またエラーが出ました。
sda.Fill(dt);
connect.Close();
としたら、★マークのところで、またエラーが出ました。
636デフォルトの名無しさん (ワッチョイ 0306-GP+B)
2018/01/22(月) 16:33:20.49ID:R+95xE7/0 まずコネクション以下全てのオブジェクトはクローズしたら再度newしないと使えません
よってスタティックじゃなくて普通のインスタンスとして管理
使う度にnewで新たに作ります
よってスタティックじゃなくて普通のインスタンスとして管理
使う度にnewで新たに作ります
637633 (ワッチョイ 5bd6-pQa0)
2018/01/22(月) 16:46:28.18ID:rsQqa0Zv0 そうだったんですね、使いまわせると思ってました・・・
638633 (ワッチョイ 5bd6-pQa0)
2018/01/22(月) 17:15:57.30ID:rsQqa0Zv0 インスタンス内で、宣言したら、うまくいくようになりました。
ありがとうございます。
ありがとうございます。
639デフォルトの名無しさん (ワッチョイ 239d-pQa0)
2018/01/23(火) 08:14:55.18ID:y6LiRRs70 デバッグで完全に動作するのにインストールして動かすと、途中で落ちる。多分データベースのアクセスではないかなと
思っているんだが、インストールした実行プログラムのデバッグをやろうとしているんだがどうやるのか不明。
VS2013の「デバッグ」から「インストールされているアプリケーションパッケージのデバッグ」に入ってもリストに何もでてこない。
なにか設定があるのだろうと思うが、どこを設定すればいい?
アタッチするまでが分からない。
思っているんだが、インストールした実行プログラムのデバッグをやろうとしているんだがどうやるのか不明。
VS2013の「デバッグ」から「インストールされているアプリケーションパッケージのデバッグ」に入ってもリストに何もでてこない。
なにか設定があるのだろうと思うが、どこを設定すればいい?
アタッチするまでが分からない。
640デフォルトの名無しさん (スッップ Sd43-pJai)
2018/01/23(火) 08:58:36.28ID:Un6nXOVAd641デフォルトの名無しさん (ワッチョイ 5b7f-XKUo)
2018/01/23(火) 09:29:37.11ID:2MiHwZpp0642デフォルトの名無しさん (ワッチョイ fde3-nVvH)
2018/01/23(火) 09:36:15.82ID:XJEe+tMu0 CallerMemberNameAttribute class
643デフォルトの名無しさん (ワッチョイ fde3-nVvH)
2018/01/23(火) 09:37:24.58ID:XJEe+tMu0 っていうか
リリース版でデバッグしたいって聞いてるんでしょ?
リリース版でデバッグしたいって聞いてるんでしょ?
644デフォルトの名無しさん (ワッチョイ 5b7f-XKUo)
2018/01/23(火) 09:50:04.23ID:2MiHwZpp0 Trace出力でのデバッグはリリース版でやることが多いぞ。
ビュワー立ち上げなければ、ユーザーからは見えないし。
ビュワー立ち上げなければ、ユーザーからは見えないし。
645デフォルトの名無しさん (ワッチョイ bdb8-1VRr)
2018/01/23(火) 09:59:10.73ID:iDuW9Lrl0 mono入れたLinuxでmscでコンパイルした実行ファイルを
WindowsにもってこようとするとMicrosoft Defenderでトロイ扱いされてブロックされます
同じコードをWindowsでcscでコンパイルした場合は問題ありません
WindowsでコンパイルしたものはmonoでLinuxでもちゃんと実行できます
なんでmscでコンパイルしたものがトロイ扱いされるんでしょう?
WindowsにもってこようとするとMicrosoft Defenderでトロイ扱いされてブロックされます
同じコードをWindowsでcscでコンパイルした場合は問題ありません
WindowsでコンパイルしたものはmonoでLinuxでもちゃんと実行できます
なんでmscでコンパイルしたものがトロイ扱いされるんでしょう?
646愛知人
2018/01/23(火) 11:14:45.36ID:ZHqgRH1x どうやって受け渡してる?
zipで渡したらどうなる?
zipで渡したらどうなる?
647デフォルトの名無しさん (ワッチョイ bdb8-1VRr)
2018/01/23(火) 11:48:58.28ID:iDuW9Lrl0 >>646
scp(ssh)とhttp経由でダウンロードしましたがだめで
その後拡張子を変えたりしましたがだめでした
アーカイブは試しませんでしたが
ダウンロードできても解凍するところでアウトと思われます
軽いプログラムだったのでbase64エンコードした文字列を
Windows側でデコードして出力しようとしたのですが
ファイルに出力した時点でウイルス判定され隔離されました
scp(ssh)とhttp経由でダウンロードしましたがだめで
その後拡張子を変えたりしましたがだめでした
アーカイブは試しませんでしたが
ダウンロードできても解凍するところでアウトと思われます
軽いプログラムだったのでbase64エンコードした文字列を
Windows側でデコードして出力しようとしたのですが
ファイルに出力した時点でウイルス判定され隔離されました
648デフォルトの名無しさん (ワッチョイ 3d9e-WQmd)
2018/01/23(火) 12:35:41.92ID:IdUgpQhE0 C#アプリからCTRL+V以外のホットキーでSendMessageでWM_PASTEを送っても
ペーストできるアプリとできないアプリがあるのですが
ペーストできない原因とどうすればペーストできるのか
分かる方がおられましたらお教えいただけないでしょうか
自作C#アプリ ○
FireFox ○
ThunderBird ○
IE11 ○
Mery ○
秀丸ファイラ ○
MDIE ○
等
V2C ×
Chrome ×
Vivaldi ×
Everything ×
等
ペーストできるアプリとできないアプリがあるのですが
ペーストできない原因とどうすればペーストできるのか
分かる方がおられましたらお教えいただけないでしょうか
自作C#アプリ ○
FireFox ○
ThunderBird ○
IE11 ○
Mery ○
秀丸ファイラ ○
MDIE ○
等
V2C ×
Chrome ×
Vivaldi ×
Everything ×
等
649デフォルトの名無しさん (アウアウエー Sa93-2BHe)
2018/01/23(火) 12:43:02.47ID:+k2ngROKa いやいや、原因は普通に当該アプリがWM_PASTEを処理しないからでしょうw
泥臭いけど素直にSendKeysを使ったらよいのでは?
泥臭いけど素直にSendKeysを使ったらよいのでは?
650デフォルトの名無しさん (アウアウカー Sa21-zP08)
2018/01/23(火) 12:43:45.53ID:w7MKK31Na シリアル通信のプログラムで問い合わせ付のコマンドを送信する場合に、送信結果(bool)とレスポンス結果(string)を取得したいのですが、返り値boolでレスポンス結果をoutで返すといった感じにすればいいでしょうか
651デフォルトの名無しさん (ブーイモ MM99-4b13)
2018/01/23(火) 12:44:53.41ID:S3NIjRwTM WM_PASTEじゃなくて直接キーをハンドリングしてるんだろ
最近のメジャーなアプリは開発者がMacをメインで使ってるケースが多かったりして、
ファッキンドザのために必要以上の特殊な対応はしないというスタンスのものが増えてるよ
最近のメジャーなアプリは開発者がMacをメインで使ってるケースが多かったりして、
ファッキンドザのために必要以上の特殊な対応はしないというスタンスのものが増えてるよ
652デフォルトの名無しさん (ワッチョイ c5c9-GP+B)
2018/01/23(火) 12:50:10.67ID:X0br0i8Q0 >>650
ValueTuple
ValueTuple
653デフォルトの名無しさん (ブーイモ MMe9-VZYS)
2018/01/23(火) 13:01:37.24ID:P/8oxsShM >>650
送信結果は例外で
送信結果は例外で
654デフォルトの名無しさん (アウアウエー Sa93-2BHe)
2018/01/23(火) 13:31:40.71ID:+k2ngROKa >>650
成否だけ分かればいいなら、失敗した時はnullを返せば十分じゃない?
enum Acknowledgement {ACK,, NAK, NoResply, Offline};
みたいなのを返したいなら、
Class Response
{
public string Received{get; private set;}
public Acknowledgement Acknowledgement{get; private set;}
}
みたいなのを返すとか
成否だけ分かればいいなら、失敗した時はnullを返せば十分じゃない?
enum Acknowledgement {ACK,, NAK, NoResply, Offline};
みたいなのを返したいなら、
Class Response
{
public string Received{get; private set;}
public Acknowledgement Acknowledgement{get; private set;}
}
みたいなのを返すとか
655デフォルトの名無しさん (ワッチョイ 5dd2-k4Q3)
2018/01/23(火) 14:27:23.36ID:jwCBe9IF0 メインメニューにコピーの項目ないなら
直接ペーストするウインドウに送らんと
直接ペーストするウインドウに送らんと
656デフォルトの名無しさん (アウアウカー Sa21-zP08)
2018/01/23(火) 21:20:31.90ID:doIreqsya657デフォルトの名無しさん (ワッチョイ 25b3-pQa0)
2018/01/24(水) 22:02:38.70ID:pOW1jrho0 classをforeachで回したいのですがGetEnumeratorの書き方はこういう形が一般的なのでしょうか?
プロパティが増える度にGetEnumeratorのyield return追加しないといけないですが
うっかり追加し忘れてバグの元になるから別の書き方があるのかも?と少し気になったので
https://ideone.com/etKQWk
プロパティが増える度にGetEnumeratorのyield return追加しないといけないですが
うっかり追加し忘れてバグの元になるから別の書き方があるのかも?と少し気になったので
https://ideone.com/etKQWk
658デフォルトの名無しさん (ブーイモ MMab-4b13)
2018/01/24(水) 22:13:23.39ID:N2tfbGLJM659デフォルトの名無しさん (ワッチョイ c581-x16F)
2018/01/24(水) 22:16:06.84ID:BwYqU5Fv0660デフォルトの名無しさん (ワッチョイ 25b3-zWLY)
2018/01/24(水) 22:21:49.07ID:pOW1jrho0 >>658
すっごい単純なものだと
int id
string name
みたいなものでクラス保持してて、そこに他にも付属品が付いてるイメージです
たまにforeach使えないと不便な時があるのでその為に継承させてるのですが
DBから読み出したデータをそのままforeachで出力させたいって時とかに使います
わざわざ全部の項目を関数で読み出して表示ってのも大変な時があるので
すっごい単純なものだと
int id
string name
みたいなものでクラス保持してて、そこに他にも付属品が付いてるイメージです
たまにforeach使えないと不便な時があるのでその為に継承させてるのですが
DBから読み出したデータをそのままforeachで出力させたいって時とかに使います
わざわざ全部の項目を関数で読み出して表示ってのも大変な時があるので
661デフォルトの名無しさん (ワッチョイ 25b3-zWLY)
2018/01/24(水) 22:38:24.91ID:pOW1jrho0 >>659
Typeの使い方色々調べましたけど、指定方法がイマイチわからなかったのでもうちょい調べておきます
Typeの使い方色々調べましたけど、指定方法がイマイチわからなかったのでもうちょい調べておきます
662デフォルトの名無しさん (アウアウエー Sa93-2BHe)
2018/01/24(水) 22:51:55.14ID:V1Cqs6+da663デフォルトの名無しさん (ワッチョイ 25b3-zWLY)
2018/01/24(水) 23:04:36.97ID:pOW1jrho0664デフォルトの名無しさん (ワッチョイ 23d2-aN4H)
2018/01/24(水) 23:07:14.93ID:E4B4d2jG0665デフォルトの名無しさん (ワッチョイ 25b3-zWLY)
2018/01/24(水) 23:23:34.07ID:pOW1jrho0666デフォルトの名無しさん (オッペケ Srab-jHVE)
2018/01/25(木) 12:22:13.44ID:bvB9i9l+r >>662
質問されてるんだから屁理屈いってないで素直に答えろよw低能らしいなw
質問されてるんだから屁理屈いってないで素直に答えろよw低能らしいなw
667デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 12:32:11.99ID:867zoX3ca こうしてまた一人変態プログラマーが世に放たれた
668デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 14:20:59.96ID:uboI0CmN0 {
//描画先とするImageオブジェクトを作成する
Bitmap canvas = new Bitmap(PictureBox1.Width, PictureBox1.Height);
//ImageオブジェクトのGraphicsオブジェクトを作成する
Graphics g = Graphics.FromImage(canvas);
//画像ファイルを読み込んで、Imageオブジェクトとして取得する
Image img = Image.FromFile(@"C:\test\1.bmp");
//画像のサイズを2倍にしてcanvasに描画する
g.DrawImage(img, 0, 0, img.Width * 2, img.Height * 2);
//Imageオブジェクトのリソースを解放する
img.Dispose();
//Graphicsオブジェクトのリソースを解放する
g.Dispose();
//PictureBox1に表示する
PictureBox1.Image = canvas;
}
g,imgはNEWしてないのに何でdispose()する必要があるの?
//描画先とするImageオブジェクトを作成する
Bitmap canvas = new Bitmap(PictureBox1.Width, PictureBox1.Height);
//ImageオブジェクトのGraphicsオブジェクトを作成する
Graphics g = Graphics.FromImage(canvas);
//画像ファイルを読み込んで、Imageオブジェクトとして取得する
Image img = Image.FromFile(@"C:\test\1.bmp");
//画像のサイズを2倍にしてcanvasに描画する
g.DrawImage(img, 0, 0, img.Width * 2, img.Height * 2);
//Imageオブジェクトのリソースを解放する
img.Dispose();
//Graphicsオブジェクトのリソースを解放する
g.Dispose();
//PictureBox1に表示する
PictureBox1.Image = canvas;
}
g,imgはNEWしてないのに何でdispose()する必要があるの?
669デフォルトの名無しさん (アウアウエー Saf2-BM8y)
2018/01/25(木) 15:01:28.26ID:rd0qfL0Fa >>668
Graphics.FromImageもImage.FromFileも直接コンストラクタ呼んでないだけのこと。
中で非公開のコンストラクタが呼ばれてインスタンスが作られてることに変わりないじゃん
お片付けしていいタイミングが分かるのは作った人だけ。
だから作った人がお片付けする責任を負うのが合理的
Graphics.FromImageもImage.FromFileも直接コンストラクタ呼んでないだけのこと。
中で非公開のコンストラクタが呼ばれてインスタンスが作られてることに変わりないじゃん
お片付けしていいタイミングが分かるのは作った人だけ。
だから作った人がお片付けする責任を負うのが合理的
670デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 15:12:28.67ID:uboI0CmN0 そういうことなの。
Graphics g = Graphics.FromImage(canvas);
こいつが内部のコンストラクタでNewしてるかどうかなんてどうしたらわかるの? 分からんよな。
マニュアルをみると確かにこいつだけ「Creates a new Graphics from the specified Image.」と
なってるな。わかり難く紛れ込んでるんだね。
しかも
g.dispose()
PictureBox1.Image = canvas;
と御片付けした後に表示するとはまた不思議な気がする。なんで片づけてから表示するん?
どのみちNEWしたCanvasはDisposeしないといけないでしょ。それならそのときに自動的に全部Dispose()する
とかできないのか?
Graphics g = Graphics.FromImage(canvas);
こいつが内部のコンストラクタでNewしてるかどうかなんてどうしたらわかるの? 分からんよな。
マニュアルをみると確かにこいつだけ「Creates a new Graphics from the specified Image.」と
なってるな。わかり難く紛れ込んでるんだね。
しかも
g.dispose()
PictureBox1.Image = canvas;
と御片付けした後に表示するとはまた不思議な気がする。なんで片づけてから表示するん?
どのみちNEWしたCanvasはDisposeしないといけないでしょ。それならそのときに自動的に全部Dispose()する
とかできないのか?
671デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 15:29:46.72ID:uboI0CmN0 これはGraphicsクラスの説明にあるMSのサンプルだけどImageもulCornerもDispose()していないのは何故。
private void DrawImagePointF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create point for upper-left corner of image.
PointF ulCorner = new PointF(100.0F, 100.0F);
// Draw image to screen.
e.Graphics.DrawImage(newImage, ulCorner);
}
private void DrawImagePointF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create point for upper-left corner of image.
PointF ulCorner = new PointF(100.0F, 100.0F);
// Draw image to screen.
e.Graphics.DrawImage(newImage, ulCorner);
}
672デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 15:31:19.68ID:867zoX3ca 別に使い終わってもリソース気にしないなら放置でいいよ
実害は普通の使い方してる限りでない
一個二個リソースが握られただけでは問題ないけど
数千数万とかレベルだと問題がでる
でもわざわざ勘定したり場合わけしながらコード書いているのか?
だったら正しいコードを書こう
newしてるかどうかわからなくても使ってることはわかるだろ?
いつかは自動で解放されるけどタイミングが不明
コード書いてる途中にg,imagを使い終わったと判断できるのは自分だけだから
片づけた後に使うのは当たり前だな
基本的にgなどはつかみっぱなしが良くないので短い範囲で手放してるだけ
実害は普通の使い方してる限りでない
一個二個リソースが握られただけでは問題ないけど
数千数万とかレベルだと問題がでる
でもわざわざ勘定したり場合わけしながらコード書いているのか?
だったら正しいコードを書こう
newしてるかどうかわからなくても使ってることはわかるだろ?
いつかは自動で解放されるけどタイミングが不明
コード書いてる途中にg,imagを使い終わったと判断できるのは自分だけだから
片づけた後に使うのは当たり前だな
基本的にgなどはつかみっぱなしが良くないので短い範囲で手放してるだけ
673デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 15:35:45.15ID:867zoX3ca これは基本的にwindowsのGDIという仕組みに乗ってるだけなので
他でも使ってる
c#に文句を言うのは筋違い
でもc++スレに行くのも筋違い
30年近くさかのぼってMSの設計者に文句を言ってくればいい
どうしても嫌ならwindowsの仕組みに乗ってないものを使えばいい
他でも使ってる
c#に文句を言うのは筋違い
でもc++スレに行くのも筋違い
30年近くさかのぼってMSの設計者に文句を言ってくればいい
どうしても嫌ならwindowsの仕組みに乗ってないものを使えばいい
674デフォルトの名無しさん (ワッチョイ 27e3-5dAg)
2018/01/25(木) 15:46:40.99ID:y1oROuxV0 こういう自分とこでインスタンス作成しといて始末しない設計ってクソだね
って話で終わりだな
って話で終わりだな
675デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 15:56:14.66ID:867zoX3ca もう少し説明
>と御片付けした後に表示するとはまた不思議な気がする。なんで片づけてから表示するん?
仮にgをファイル操作に置き換えたとしよう
ファイル開く
ファイル読み書き処理
ファイル閉じる
表示
これを
表示
ファイル閉じる
にした場合、表示がもし5年かかった場合、ファイルは意味もなく5年間開かれっぱなしで他から操作できない
>と御片付けした後に表示するとはまた不思議な気がする。なんで片づけてから表示するん?
仮にgをファイル操作に置き換えたとしよう
ファイル開く
ファイル読み書き処理
ファイル閉じる
表示
これを
表示
ファイル閉じる
にした場合、表示がもし5年かかった場合、ファイルは意味もなく5年間開かれっぱなしで他から操作できない
676デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 15:59:37.81ID:867zoX3ca さらに言えば自動でファイルを閉じる仕組みを作ったにせよ
表示が終わるまで5年間ファイルは閉じられる機会がない
これでもすべて自動でやれという意見は変わらないかな?
表示が終わるまで5年間ファイルは閉じられる機会がない
これでもすべて自動でやれという意見は変わらないかな?
677デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 16:00:10.16ID:uboI0CmN0 そういう話ではなくて意味が解らないという話だね。
例えばこれは何故当たり前なのかが不明。
>片づけた後に使うのは当たり前だな
>基本的にgなどはつかみっぱなしが良くないので短い範囲で手放してるだけ
折角グラフィック表示するためにgを作ったのに、表示する前に解放するというのが意味不明だ。
Msのサンプルコードではまさにこのgに対してDRAWしている。これで表示が機能しているのに
この例では、PictureにCanvasを代入して表示が完了することになっている。表示する前にg
をdisposeしているから、gの役割が二つの例で意味が不明だ。
例えばこれは何故当たり前なのかが不明。
>片づけた後に使うのは当たり前だな
>基本的にgなどはつかみっぱなしが良くないので短い範囲で手放してるだけ
折角グラフィック表示するためにgを作ったのに、表示する前に解放するというのが意味不明だ。
Msのサンプルコードではまさにこのgに対してDRAWしている。これで表示が機能しているのに
この例では、PictureにCanvasを代入して表示が完了することになっている。表示する前にg
をdisposeしているから、gの役割が二つの例で意味が不明だ。
678デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 16:04:31.21ID:867zoX3ca gは数が限られている
鉛筆みたいなもの
鉛筆が5本あってみなで共有している
使い終わったらすぐ放棄しないと絵が描けない人がでて困る
必要なくなったのに5年鉛筆を持ちっぱなしが望ましい状態だろうか?
鉛筆みたいなもの
鉛筆が5本あってみなで共有している
使い終わったらすぐ放棄しないと絵が描けない人がでて困る
必要なくなったのに5年鉛筆を持ちっぱなしが望ましい状態だろうか?
679デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 16:08:15.76ID:867zoX3ca 鉛筆5本をそれぞれが持ちっぱなしで
6個目のアプリが起動したらどうなるか?
鉛筆がないのでまともに動かない
6個目のアプリが起動したらどうなるか?
鉛筆がないのでまともに動かない
680デフォルトの名無しさん (ワッチョイ 2706-bSkF)
2018/01/25(木) 16:14:06.03ID:rPbpnmYW0 一つ勘違いがあるけど、newやコンストラクタとDispose()は直接関係ないよ
C#にdeleteは無いし、それに相当するものでもないので、インスタンスを解放する訳じゃない
Dispose()は主にガベージコレクション管理外となるアンマネージリソース等を解放するためのメソッド
そしてGraphicsはBitmapというキャンバスを弄るために用意したに過ぎない、表示するのはBitmapの中身
モノによってはDispose()すると内部バッファとかの書き出しとかもやるし、using等も使いつつ明示的にやりましょう
ちゃんとしたIDispose実装クラスならデストラクタ(ファイナライザ)でもDispose()を呼び出すコードが入ってるけど
タイミングがガベコレ次第になるし高コストなので明示的に呼ばれるとファイナライズキューから外すように設計されてる
C#にdeleteは無いし、それに相当するものでもないので、インスタンスを解放する訳じゃない
Dispose()は主にガベージコレクション管理外となるアンマネージリソース等を解放するためのメソッド
そしてGraphicsはBitmapというキャンバスを弄るために用意したに過ぎない、表示するのはBitmapの中身
モノによってはDispose()すると内部バッファとかの書き出しとかもやるし、using等も使いつつ明示的にやりましょう
ちゃんとしたIDispose実装クラスならデストラクタ(ファイナライザ)でもDispose()を呼び出すコードが入ってるけど
タイミングがガベコレ次第になるし高コストなので明示的に呼ばれるとファイナライズキューから外すように設計されてる
681デフォルトの名無しさん (アウアウエー Saf2-BM8y)
2018/01/25(木) 16:20:19.01ID:rd0qfL0Fa >>670
だから、「Disposeする必要があるのは自分がnewしたもの」という勝手な思い込みが間違ってる。
Disposeは作成したオブジェクトが必要なくなった時に呼ぶ。
オブジェクトを作成する方法はコンストラクタ呼び出しだけじゃない。
MSDNの説明にある通り、Graphics.FromImageもImage.FromFileも新しく作成されたオブジェクトを
返す。使いまわしされる共有オブジェクトを返すわけじゃない。
> どのみちNEWしたCanvasはDisposeしないといけないでしょ。それならそのときに自動的に全部Dispose()する
> とかできないのか?
usingステートメントを使う
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement
だから、「Disposeする必要があるのは自分がnewしたもの」という勝手な思い込みが間違ってる。
Disposeは作成したオブジェクトが必要なくなった時に呼ぶ。
オブジェクトを作成する方法はコンストラクタ呼び出しだけじゃない。
MSDNの説明にある通り、Graphics.FromImageもImage.FromFileも新しく作成されたオブジェクトを
返す。使いまわしされる共有オブジェクトを返すわけじゃない。
> どのみちNEWしたCanvasはDisposeしないといけないでしょ。それならそのときに自動的に全部Dispose()する
> とかできないのか?
usingステートメントを使う
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement
682デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 16:22:44.43ID:867zoX3ca C#でたころにGDIの限界までオブジェクト作ったことがあったな
画面がおかしくなって黒いところがあちこちにできる
リソースがないと怒られる
それともc++だったかないずれにせよ20年ぐらい前かな
画面がおかしくなって黒いところがあちこちにできる
リソースがないと怒られる
それともc++だったかないずれにせよ20年ぐらい前かな
683デフォルトの名無しさん (アウアウエー Saf2-BM8y)
2018/01/25(木) 16:22:53.90ID:rd0qfL0Fa あら、更新してない間にえらいレス増えてたw
684デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 16:27:14.19ID:uboI0CmN0 要するに
Canvas(これはBItmapと同じ?)
Image (これは、Bitmap以外にも多種多様な表示を扱う?)
Graphics (これは描画するための、関数群のようなもの?)
の違いが不明ってことかな。
上の例(DOBON)では
Picture.Image=Canvas
これでImageにビットマップを代入して描画が完了することになっている。
g.DrawImage(img, 0, 0, img.Width * 2, img.Height * 2);
ここでgを使ってimgに描画したのでもうgはいらない。だからgはdisposeした。
ならわかるが、ここでimgをDsiposeするからわけがわからない。
Canvas(これはBItmapと同じ?)
Image (これは、Bitmap以外にも多種多様な表示を扱う?)
Graphics (これは描画するための、関数群のようなもの?)
の違いが不明ってことかな。
上の例(DOBON)では
Picture.Image=Canvas
これでImageにビットマップを代入して描画が完了することになっている。
g.DrawImage(img, 0, 0, img.Width * 2, img.Height * 2);
ここでgを使ってimgに描画したのでもうgはいらない。だからgはdisposeした。
ならわかるが、ここでimgをDsiposeするからわけがわからない。
685デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 16:34:42.10ID:uboI0CmN0 あっ、コメントにちゃんと書いてあった。
//画像のサイズを2倍にしてcanvasに描画する
g.DrawImage(img, 0, 0, img.Width * 2, img.Height * 2);
ここですでにCanvasに書いているんだな。
//画像のサイズを2倍にしてcanvasに描画する
g.DrawImage(img, 0, 0, img.Width * 2, img.Height * 2);
ここですでにCanvasに書いているんだな。
686デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 16:37:20.54ID:867zoX3ca はい
解決したね良かったね
写真(img)を見て画用紙(canvs)に鉛筆(g)で絵を描いた
終わったので写真と鉛筆を片付けた
画用紙を額(picturebox1)に入れて飾りました
解決したね良かったね
写真(img)を見て画用紙(canvs)に鉛筆(g)で絵を描いた
終わったので写真と鉛筆を片付けた
画用紙を額(picturebox1)に入れて飾りました
687デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 16:43:44.03ID:uboI0CmN0 DOBONの例の機序
PictureBox1のサイズで空のBITMAPを作成する。
そのビットマップから描画オブジェクトのGraphics gを作成する。
ファイルからBitmapのImageを作成する。
gでそのImageをBITMAPに描画する。(BITMAPに描画したのでg、imgはいらない)
描画したBITMAPをPictureBOxにコピーする。
こういうことか。わかった。お騒がせしました。ペコリ
PictureBox1のサイズで空のBITMAPを作成する。
そのビットマップから描画オブジェクトのGraphics gを作成する。
ファイルからBitmapのImageを作成する。
gでそのImageをBITMAPに描画する。(BITMAPに描画したのでg、imgはいらない)
描画したBITMAPをPictureBOxにコピーする。
こういうことか。わかった。お騒がせしました。ペコリ
688デフォルトの名無しさん (ワッチョイ 27e3-5dAg)
2018/01/25(木) 16:46:23.63ID:y1oROuxV0 やっぱりuingとか言ってた奴はガイジだっただろ?
689デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 16:47:36.29ID:uboI0CmN0 >gは数が限られている
それはおかしい。そんなことはどこにも書いてない。
もしそうだとしたら
Graphics g = Graphics.FromImage(canvas);
このコードが間違いってことになる。ここで数量をチェックしないといけない。
それはおかしい。そんなことはどこにも書いてない。
もしそうだとしたら
Graphics g = Graphics.FromImage(canvas);
このコードが間違いってことになる。ここで数量をチェックしないといけない。
690デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 16:48:50.78ID:867zoX3ca ガイジって言葉を使う奴のほうがどうかしてると思いますよ
691デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 16:52:18.84ID:uboI0CmN0 >C#でたころにGDIの限界までオブジェクト作ったことがあったな
>画面がおかしくなって黒いところがあちこちにできる 。リソースがないと怒られる
これはどういう意味? メモリーの限界ではなくて、GDI(ハードウエア)がもつレジスタの限界ってこと?
Graphicsって要するにGDIのリソースを確保するという意味なの?
>画面がおかしくなって黒いところがあちこちにできる 。リソースがないと怒られる
これはどういう意味? メモリーの限界ではなくて、GDI(ハードウエア)がもつレジスタの限界ってこと?
Graphicsって要するにGDIのリソースを確保するという意味なの?
692デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 16:53:13.35ID:867zoX3ca ググればいいよ思うよ
ここはチャットじゃない
ここはチャットじゃない
693デフォルトの名無しさん (ワッチョイ 27e3-5dAg)
2018/01/25(木) 16:56:18.20ID:y1oROuxV0 ユーザフレンドリーと見せかけてウンコの代表みたいなクラスなので
真面目に考えないほうがいい
結局仕組みを理解するにはwin32の描画文化から知る必要がある
真面目に考えないほうがいい
結局仕組みを理解するにはwin32の描画文化から知る必要がある
694デフォルトの名無しさん (アウアウエー Saf2-BM8y)
2018/01/25(木) 16:56:28.77ID:rd0qfL0Fa >>689
しょうもないことに突っかかるなあw
数が限られてるって言い方が気に入らないなら高価な共有リソースって言えば分かる?
例えば巨大な配列とか、通信ポートとか、
そういった類のものを「一人」がずっと占有したら他の人が使いたい時に使えないよね?
しょうもないことに突っかかるなあw
数が限られてるって言い方が気に入らないなら高価な共有リソースって言えば分かる?
例えば巨大な配列とか、通信ポートとか、
そういった類のものを「一人」がずっと占有したら他の人が使いたい時に使えないよね?
695デフォルトの名無しさん (ワッチョイ 27e3-5dAg)
2018/01/25(木) 16:57:30.81ID:y1oROuxV0 >>694
そんなくだらない例え話じゃなくてちゃんと現象を説明してあげればいいじゃない
そんなくだらない例え話じゃなくてちゃんと現象を説明してあげればいいじゃない
696デフォルトの名無しさん (ワッチョイ 2706-bSkF)
2018/01/25(木) 17:00:16.17ID:rPbpnmYW0 >>691
GDIはハードウェアっつーより…Windowsでの実装が気になるならReference Sourceでも読んで
メソッド内部では色々チェック入ってるし、しくじったら例外ぶん投げるようになってるから
GDIはハードウェアっつーより…Windowsでの実装が気になるならReference Sourceでも読んで
メソッド内部では色々チェック入ってるし、しくじったら例外ぶん投げるようになってるから
697デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 17:14:44.08ID:uboI0CmN0 例外ね。それならわかる。
698デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 17:19:27.46ID:uboI0CmN0 MSの説明はたったのこれだけw
■Graphics クラス
Encapsulates a GDI+ drawing surface. This class cannot be inherited.
GDI+って要するに、グラフィックコントローラを使うってことでしょ。でも鉛筆5本ってほどしょぼいことはないだろ。
■Graphics クラス
Encapsulates a GDI+ drawing surface. This class cannot be inherited.
GDI+って要するに、グラフィックコントローラを使うってことでしょ。でも鉛筆5本ってほどしょぼいことはないだろ。
699デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 17:20:48.94ID:867zoX3ca まだググってないのかよ…
700デフォルトの名無しさん (ワッチョイ 8783-fPTX)
2018/01/25(木) 18:18:42.61ID:bbltRTAq0 結局リソースリリースタイミングを制御しないといけなくなるわけで、ほんとGCって糞だよな。
701デフォルトの名無しさん (ワッチョイ 8783-fPTX)
2018/01/25(木) 18:20:51.02ID:bbltRTAq0 最近のMSのドキュメントはほんと不親切だよな。
幸運なことGDI+は不親切になる前に開発されたものだから、ググればMSも含めて大量にドキュメントが残ってる。
幸運なことGDI+は不親切になる前に開発されたものだから、ググればMSも含めて大量にドキュメントが残ってる。
702デフォルトの名無しさん (スッップ Sdda-urNB)
2018/01/25(木) 18:22:45.01ID:lTsrogoKd >>700
論理的に
論理的に
703デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 19:02:27.22ID:uboI0CmN0 ググってみた。
Application.SetCompatibleTextRenderingDefault(false);
というのが設定されるようになっていて、GDI+は糞だからGDIを使いなさいってことらしい。w
Application.SetCompatibleTextRenderingDefault(false);
というのが設定されるようになっていて、GDI+は糞だからGDIを使いなさいってことらしい。w
704デフォルトの名無しさん (ワッチョイ ae9a-fRM1)
2018/01/25(木) 19:09:48.12ID:MFAun2Gg0 >>703
文字列の描画の話だけ持ってきて何がしたい
https://dobon.net/vb/dotnet/control/setcompatibletextrenderingdefault.html
質問じゃないのならチラシの裏にでも書いてくれ
文字列の描画の話だけ持ってきて何がしたい
https://dobon.net/vb/dotnet/control/setcompatibletextrenderingdefault.html
質問じゃないのならチラシの裏にでも書いてくれ
705デフォルトの名無しさん (ワッチョイ 8783-fPTX)
2018/01/25(木) 19:23:49.81ID:bbltRTAq0 よく鉛筆5本とか言うけど、Win16ではDCは同時に使用できるのは5つまでだった。
だからDC取得したらその関数内ですぐ開放するのが当たり前だった。
だからDC取得したらその関数内ですぐ開放するのが当たり前だった。
706デフォルトの名無しさん (ワッチョイ 27e3-5dAg)
2018/01/25(木) 20:28:49.03ID:y1oROuxV0 c#の{ }って中身が1文の場合、省略できるものとできないものってどうやって決まってるんでしょうか?
namespace、class、
for、switch、while、try、checked、fixed、unsafeなど
namespace、class、
for、switch、while、try、checked、fixed、unsafeなど
707デフォルトの名無しさん (ワッチョイ e39d-1ipv)
2018/01/25(木) 20:53:14.29ID:uboI0CmN0 省略しないこと。それが賢いプログラムスタイル。
708デフォルトの名無しさん (アウアウエー Saf2-BM8y)
2018/01/25(木) 21:11:21.97ID:LWlSA0E2a709愛知人
2018/01/25(木) 22:57:58.27 PictureBoxのMouseMoveイベントハンドラ内にInvalidate()を入れるとTimerのTickが止まります。何故ですか?
https://ideone.com/fWNMPP
https://ideone.com/fWNMPP
710デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/25(木) 22:59:36.29ID:867zoX3ca コード見てないけど
そんな暴れん坊見たいことはしないほうがいいと思う
そんな暴れん坊見たいことはしないほうがいいと思う
711愛知人
2018/01/25(木) 23:02:00.73 マウスの位置をフィールドに入れて間隔の短いタイマーで描画しますか?
712デフォルトの名無しさん (ワッチョイ 0b9e-ss0X)
2018/01/26(金) 01:44:30.98ID:TUeBIint0 すみません質問です。
C#でエクセルを複数起動させるプログラムを書いているのですが、解決できない問題があります。
例えば既にa.xlsxが開かれていて、追加で3つのエクセルファイル(b.xlsx, c.xlsx, d.xltm)を立ち上げるとします。
その場合、process.start("excel", "b.xlsx c.xlsx d.xltm");
とすると、a~dまでが一つのプロセスにまとまるのはいいのですが、テンプレートが編集モードで開いてしまいます。
仕方ないので、
process.start("excel", "b.xlsx c.xlsx");
process.start("d.xltm");
とテンプレートだけ"excel"を抜いて起動すると、ちゃんとテンプレートは新規ファイルで開かれますが、プロセスが3つに分かれてしまいます・・[a.xlsx], [b.xlsx, c.xlsx], [d1]
(何故かa.xlsxまで孤立しちゃうんですよね・・・)
色々試したところ、
process.start("excel", "b.xlsx c.xlsx");を実行して一度処理を終了させた後(この時点ではa~cが一つのプロセスになっている)、
また起動し直しでprocess.start("d.xltm");を単独実行させると、a~cと同じプロセスにdが加わってくれました。
であれば、全部起動完了待ちすればうまくいくか?と思って、
Process p = new Process();
p.StartInfo.FileName = "excel";
p.StartInfo.Arguments = "b.xlsx c.xlsx";
p.Start();
p.WaitForInputIdle();
p.StartInfo.FileName = "d.xltm";
p.Start();
と、インスタンスを作ってからp.WaitForInputIdle();を加えたうえで実行させると、
プロセスは3つじゃなく今度は2つにまとまりましたが、一つになってくれませんでした・・。
[a.xlsx, b.xlsx, c.xlsx], [d1]
という具合で、何れにせよテンプレートだけプロセスが分かれちゃいます。
色々試しましたが、テンプレートファイル含む複数のエクセルファイルを、テンプレートファイルは新規ファイルとして開きつつ、全て一つのプロセスとして起動させる方法が分かりませんでした・・
方法があれば教えてくださいお願いいたします(m_m)
C#でエクセルを複数起動させるプログラムを書いているのですが、解決できない問題があります。
例えば既にa.xlsxが開かれていて、追加で3つのエクセルファイル(b.xlsx, c.xlsx, d.xltm)を立ち上げるとします。
その場合、process.start("excel", "b.xlsx c.xlsx d.xltm");
とすると、a~dまでが一つのプロセスにまとまるのはいいのですが、テンプレートが編集モードで開いてしまいます。
仕方ないので、
process.start("excel", "b.xlsx c.xlsx");
process.start("d.xltm");
とテンプレートだけ"excel"を抜いて起動すると、ちゃんとテンプレートは新規ファイルで開かれますが、プロセスが3つに分かれてしまいます・・[a.xlsx], [b.xlsx, c.xlsx], [d1]
(何故かa.xlsxまで孤立しちゃうんですよね・・・)
色々試したところ、
process.start("excel", "b.xlsx c.xlsx");を実行して一度処理を終了させた後(この時点ではa~cが一つのプロセスになっている)、
また起動し直しでprocess.start("d.xltm");を単独実行させると、a~cと同じプロセスにdが加わってくれました。
であれば、全部起動完了待ちすればうまくいくか?と思って、
Process p = new Process();
p.StartInfo.FileName = "excel";
p.StartInfo.Arguments = "b.xlsx c.xlsx";
p.Start();
p.WaitForInputIdle();
p.StartInfo.FileName = "d.xltm";
p.Start();
と、インスタンスを作ってからp.WaitForInputIdle();を加えたうえで実行させると、
プロセスは3つじゃなく今度は2つにまとまりましたが、一つになってくれませんでした・・。
[a.xlsx, b.xlsx, c.xlsx], [d1]
という具合で、何れにせよテンプレートだけプロセスが分かれちゃいます。
色々試しましたが、テンプレートファイル含む複数のエクセルファイルを、テンプレートファイルは新規ファイルとして開きつつ、全て一つのプロセスとして起動させる方法が分かりませんでした・・
方法があれば教えてくださいお願いいたします(m_m)
713712 (ワッチョイ 0b9e-ss0X)
2018/01/26(金) 02:02:53.98ID:TUeBIint0 712です。
p.WaitForInputIdle();
の後に、System.Threading.Thread.Sleep(1000);
を強引に追加したら上手くいきました・・。
(うまくいったというのはつまり、
a.xlsxだけが最初に開いてあって、
b.xlsx, c.xlsx, d.xltmをC#で開いた時、a~dまで一つのプロセスにまとまり、
d.xltmも新規ファイルで開いてくれたという事です)
でもこれ、絶対正規の解決方法じゃないですよね?
きっともっといい方法ありますよね?・・
ご教授下さい。お願いいたします。
p.WaitForInputIdle();
の後に、System.Threading.Thread.Sleep(1000);
を強引に追加したら上手くいきました・・。
(うまくいったというのはつまり、
a.xlsxだけが最初に開いてあって、
b.xlsx, c.xlsx, d.xltmをC#で開いた時、a~dまで一つのプロセスにまとまり、
d.xltmも新規ファイルで開いてくれたという事です)
でもこれ、絶対正規の解決方法じゃないですよね?
きっともっといい方法ありますよね?・・
ご教授下さい。お願いいたします。
714愛知人
2018/01/26(金) 02:18:07.66 長すぎて目が回る
715デフォルトの名無しさん (アウアウエー Saf2-BM8y)
2018/01/26(金) 02:55:01.83ID:o5aK9JZ1a >>712
コマンドラインオプションで"/t"でも指定してみるとか
知らんけど
https://support.office.com/ja-jp/article/Microsoft-Office-%E8%A3%BD%E5%93%81%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%83%A9%E3%82%A4%E3%83%B3-%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81-079164cd-4ef5-4178-b235-441737deb3a6#ID0EAABAAA=Excel
オートメーションでやった方がいいんじゃないの?
コマンドラインオプションで"/t"でも指定してみるとか
知らんけど
https://support.office.com/ja-jp/article/Microsoft-Office-%E8%A3%BD%E5%93%81%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%83%A9%E3%82%A4%E3%83%B3-%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81-079164cd-4ef5-4178-b235-441737deb3a6#ID0EAABAAA=Excel
オートメーションでやった方がいいんじゃないの?
716デフォルトの名無しさん (ワッチョイ 8781-6Oft)
2018/01/26(金) 05:52:15.43ID:YXUTlXJp0717712 (ワッチョイ 0b9e-ss0X)
2018/01/26(金) 12:19:07.12ID:TUeBIint0718デフォルトの名無しさん (ワッチョイ 56d6-1ipv)
2018/01/26(金) 17:21:24.22ID:YG13MR3r0 Form1のデータから、Form2を呼び起こして、
Form2のPrintDocument1_PrintPageを印刷しています。
Form2を閉じて、2回目にForm1から別のデータを印刷すると、
DrawStringで印刷したデータが重複してしまいます。
PrintDocument1_PrintPageを初期化するような方法はないでしょうか?
Form2のPrintDocument1_PrintPageを印刷しています。
Form2を閉じて、2回目にForm1から別のデータを印刷すると、
DrawStringで印刷したデータが重複してしまいます。
PrintDocument1_PrintPageを初期化するような方法はないでしょうか?
719デフォルトの名無しさん (ワッチョイ da60-1ipv)
2018/01/26(金) 17:29:15.32ID:SCIRVI+W0 getcommandlineargs()で引数を渡すと
スペースとダブルクォーテーションが消えてしまいますがどうすればいいですか?
大文字にしても消えます
スペースとダブルクォーテーションが消えてしまいますがどうすればいいですか?
大文字にしても消えます
720愛知人!id:ignore (ワッチョイ b375-5Mtj)
2018/01/26(金) 17:36:10.53ID:56XeCPud0 >>718
意味不明
意味不明
721愛知人
2018/01/26(金) 17:41:29.04722デフォルトの名無しさん (ワッチョイ da60-1ipv)
2018/01/26(金) 18:01:50.81ID:SCIRVI+W0 >>719
すいませんかんちがいしました
すいませんかんちがいしました
723デフォルトの名無しさん (ワッチョイ 27e3-5dAg)
2018/01/26(金) 18:48:32.92ID:AIK2YVo40724愛知人
2018/01/27(土) 13:34:52.88 pictureBoxに線を引いたり色々描画した後に指定位置のピクセルの値を取得する方法はありますか?
CopyFromScreen?を使うしかないですか?
CopyFromScreen?を使うしかないですか?
725愛知人
2018/01/27(土) 13:48:07.76 >>724は取り消し
726デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 00:10:09.85ID:fNHvxuhr0 (12345).ToString("D8") = "00012345"
だけど、” 12345"にする方法はないのか?
だけど、” 12345"にする方法はないのか?
727デフォルトの名無しさん (ワッチョイ 8bc9-rgA5)
2018/01/28(日) 00:27:28.05ID:89noKjbb0 >>726
0を半角スペースにしたいならPadLeft(桁数)でいいんじゃね
0を半角スペースにしたいならPadLeft(桁数)でいいんじゃね
728デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 08:12:58.16ID:fNHvxuhr0 なるほど
" 123"
" 123.0"
" 123.00"
~
みたいなのをformat登録しておいて一括処理したいんだが,,,,
PadLeftをつかうには、独自フォーマットを作って解析して分解するひつようがあるな。
"8,D","12,F1","10,F2","10,F3","8,D"
これをSplitで分解して桁と表示にわけるとできる。みんなこんなことをやってるんだろうか?
" 123"
" 123.0"
" 123.00"
~
みたいなのをformat登録しておいて一括処理したいんだが,,,,
PadLeftをつかうには、独自フォーマットを作って解析して分解するひつようがあるな。
"8,D","12,F1","10,F2","10,F3","8,D"
これをSplitで分解して桁と表示にわけるとできる。みんなこんなことをやってるんだろうか?
729デフォルトの名無しさん (ワッチョイ 5323-jjF6)
2018/01/28(日) 09:10:44.54ID:KQzDOLbA0 設計ミスだな
出力の幅なんて最終的な出力の段階で自ずと決まるもんだろ
普通そんなもん必要ない
出力の幅なんて最終的な出力の段階で自ずと決まるもんだろ
普通そんなもん必要ない
730デフォルトの名無しさん (ワッチョイ ae81-85sb)
2018/01/28(日) 10:28:13.08ID:6EjFtDvJ0 文字列は空白埋めできたような
Formatを2回する
あるいはカスタムフォーマッタを作成
Formatを2回する
あるいはカスタムフォーマッタを作成
731デフォルトの名無しさん (ワッチョイ 8b80-wOSG)
2018/01/28(日) 11:07:52.48ID:DjJaMqeu0 String.Format("{0,8:d}", 12345);
732デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 12:35:12.10ID:fNHvxuhr0 >設計ミスだな
ToStringとString.Formatでいちいち仕様を変えるなんざ設計ミスもいいとこだ。
ToStringとString.Formatでいちいち仕様を変えるなんざ設計ミスもいいとこだ。
733デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/28(日) 12:45:46.83ID:Tf1PDahga 別物を同じように思う脳がおかしい
734デフォルトの名無しさん (ワッチョイ 9e9f-L16n)
2018/01/28(日) 13:15:50.33ID:ExF5GMWy0 $"{12345,8} 6.0になってからString.Formatを使わなくなったな
735デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 13:38:54.52ID:fNHvxuhr0 >>734
残念。VS2013ではそのスタイルは動かんな。
残念。VS2013ではそのスタイルは動かんな。
736デフォルトの名無しさん (ブーイモ MM97-jjF6)
2018/01/28(日) 13:44:27.34ID:AvNbdCpkM 最新のVSって毎週バージョンが上がってて、アップデートしたら突然ビルドが通らなくなったりとか時々あるんだよね
自社開発でパパっと対応できる体制の開発が前提になってて、もうジャパニーズドカタには手を出せない代物
自社開発でパパっと対応できる体制の開発が前提になってて、もうジャパニーズドカタには手を出せない代物
737デフォルトの名無しさん (アウアウエー Saf2-BM8y)
2018/01/28(日) 13:50:09.26ID:FrmPXjIGa 質問者が何言ってるのか俺にはさっぱりわからんけどみんなよく分かるなw
738デフォルトの名無しさん (ワッチョイ 8781-6Oft)
2018/01/28(日) 13:51:15.96ID:N5xGT/cM0 HAP使ってますか?
739デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/28(日) 13:51:41.80ID:Tf1PDahga 俺も正しい意味はわからないけど憶測で判断してる
文章も書けないくらい幼稚だけど偉そうなレスしてるとだけわかる
文章も書けないくらい幼稚だけど偉そうなレスしてるとだけわかる
740デフォルトの名無しさん (ワッチョイ b703-jHVE)
2018/01/28(日) 13:54:41.80ID:8+IXgyMg0 お前もやろがw
741デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/28(日) 13:56:13.99ID:Tf1PDahga742デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 14:11:02.89ID:fNHvxuhr0 List<string> a = new List<string> {
"x3" ,
"x4" ,
"x5" ,
"x6" ,
"x7" ,
"x8" ,
};
foreach (string el in a)
{
combox1.Items.Add(el);
}
combox1の初期化ってこんな方法しかないのか? 直接は初期化できんのか?
"x3" ,
"x4" ,
"x5" ,
"x6" ,
"x7" ,
"x8" ,
};
foreach (string el in a)
{
combox1.Items.Add(el);
}
combox1の初期化ってこんな方法しかないのか? 直接は初期化できんのか?
743デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 14:12:38.19ID:fNHvxuhr0 >>236
ちゃうちゃう、$” { valuえ} ”の記述はVs2017しかサポートしとらん。
ちゃうちゃう、$” { valuえ} ”の記述はVs2017しかサポートしとらん。
744デフォルトの名無しさん (ワッチョイ 567f-YJhG)
2018/01/28(日) 14:15:41.42ID:Jve/QRxt0 AddRange()使えば
745デフォルトの名無しさん (ワッチョイ ae9a-fRM1)
2018/01/28(日) 14:15:49.45ID:EAfEAz/a0 >>742
デザイナのコード見ろよ。あれが基本だ
デザイナのコード見ろよ。あれが基本だ
746デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/28(日) 14:16:07.45ID:Tf1PDahga 配列でAddRange初期化出来なかった?
747デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 14:43:45.42ID:fNHvxuhr0 Addrange でできた。サンクス。
748デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 15:01:38.15ID:fNHvxuhr0 int w = (int)((double)pic.Width / (double)(1 + x ) / 1.3);
doubleとintを混在するときにdoubleに自動的に型推論する機構ってないの?
いちいちキャストするのはメンドクサイよな。
doubleとintを混在するときにdoubleに自動的に型推論する機構ってないの?
いちいちキャストするのはメンドクサイよな。
749デフォルトの名無しさん (ブーイモ MM97-jjF6)
2018/01/28(日) 15:44:15.18ID:AvNbdCpkM750デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 16:53:15.56ID:fNHvxuhr0 あっ、ほんとだ。いけた。ありがとう。
751デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 17:12:56.15ID:fNHvxuhr0 Fontをファイルに保存したい。この場合name,style,sizeに分解して保存するのだろうか?
他に何かいい方法は?
他に何かいい方法は?
752デフォルトの名無しさん (ワッチョイ e305-5Mtj)
2018/01/28(日) 17:14:48.84ID:WjjZpgjO0 >>745
バーカw
バーカw
753愛知人 (ワッチョイ e316-5Mtj)
2018/01/28(日) 17:18:54.87ID:X+CD44G50 >>751
多分VSのアプリケーション設定のところでシリアライズして保存できるようにできる
多分VSのアプリケーション設定のところでシリアライズして保存できるようにできる
754デフォルトの名無しさん (ワッチョイ ae9a-fRM1)
2018/01/28(日) 17:20:49.97ID:EAfEAz/a0755愛知人 (ワッチョイ b375-fuuV)
2018/01/28(日) 18:07:26.86ID:QV+bfV+F0 これな
https://i.imgur.com/ZyRzEn7.png
これで保存
Properties.Settings.Default.*** = font;
Properties.Settings.Default.Save();
これで読み出し
var font = Properties.Settings.Default.***;
ユーザーのアプリケーションデータフォルダの中にxmlで保存されるようになってる
https://i.imgur.com/ZyRzEn7.png
これで保存
Properties.Settings.Default.*** = font;
Properties.Settings.Default.Save();
これで読み出し
var font = Properties.Settings.Default.***;
ユーザーのアプリケーションデータフォルダの中にxmlで保存されるようになってる
756デフォルトの名無しさん (ワッチョイ 8b80-wOSG)
2018/01/28(日) 20:22:00.44ID:DjJaMqeu0 var conv = TypeDescriptor.GetConverter(typeof(Font));
var text = conv.ConvertToString(font);
font = (Font)conv.ConvertFromString(text);
var text = conv.ConvertToString(font);
font = (Font)conv.ConvertFromString(text);
757デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 20:23:59.60ID:fNHvxuhr0 それがあるのは知っていたけど、Settingsってそんなふうに使うのか。初めて知った。
便利そう。ありがとう。
前に設定してみたけど、ビルドすると直ぐに消えてしまうので、どうやって使うのか
わからなかった。
便利そう。ありがとう。
前に設定してみたけど、ビルドすると直ぐに消えてしまうので、どうやって使うのか
わからなかった。
758デフォルトの名無しさん (ワッチョイ 9606-rgA5)
2018/01/28(日) 20:29:18.90ID:siYtS87s0759デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/28(日) 21:15:10.28ID:fNHvxuhr0 Properties.Settings.Default.DispFont = lblFont.Font ;
エラー 1 プロパティまたはインデクサー 'Properties.Settings.DispFont' は読み取り専用なので、割り当てることはできません。
フォントはリードオンリーになるので設定は無理ぽい。
エラー 1 プロパティまたはインデクサー 'Properties.Settings.DispFont' は読み取り専用なので、割り当てることはできません。
フォントはリードオンリーになるので設定は無理ぽい。
760デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/28(日) 21:47:20.89ID:Tf1PDahga それコピーした?
なんかおかしいけど?
なんかおかしいけど?
761愛知人
2018/01/28(日) 23:47:37.92ID:QV+bfV+F762デフォルトの名無しさん (ワッチョイ e39d-snNQ)
2018/01/29(月) 00:40:38.31ID:YDWVgvG40 >>761
スコープのところをアプリケーションにしたのが間違いだった。ユーザーにしたら
いけた。
でも暫くやって意味がわからなかったので結局はJson.netを使って保存した。
クラスをそのままシリアライズしたらFontもなにもかも一切合切勝手にシリアライズ
してくれた。W
これは分かりやすい。一発でわかった。
スコープのところをアプリケーションにしたのが間違いだった。ユーザーにしたら
いけた。
でも暫くやって意味がわからなかったので結局はJson.netを使って保存した。
クラスをそのままシリアライズしたらFontもなにもかも一切合切勝手にシリアライズ
してくれた。W
これは分かりやすい。一発でわかった。
763愛知人
2018/01/29(月) 01:03:38.61ID:pcTu+bOr だよなぁ〜
764デフォルトの名無しさん (ワッチョイ 8781-1ipv)
2018/01/29(月) 01:50:11.03ID:0ju9RGha0 class 年齢 {
public string 名前{ get; set; }
public int 年齢{ get; set; }
}
List<年齢> 年齢リスト = new List<年齢>();
このような年齢型の年齢リストがあったとして、
年齢が21のリストだけを抽出したい場合、ラムダ式ではどのように書けば良いのでしょうか?
public string 名前{ get; set; }
public int 年齢{ get; set; }
}
List<年齢> 年齢リスト = new List<年齢>();
このような年齢型の年齢リストがあったとして、
年齢が21のリストだけを抽出したい場合、ラムダ式ではどのように書けば良いのでしょうか?
765愛知人
2018/01/29(月) 01:56:46.26ID:pcTu+bOr list.FindAll(x=>x.年齢==21)
766デフォルトの名無しさん (ワッチョイ 8781-6Oft)
2018/01/29(月) 02:06:43.62ID:0ju9RGha0 >>765
ありがとうございます。明日試してみます!
ありがとうございます。明日試してみます!
767デフォルトの名無しさん (ワッチョイ bac2-rgA5)
2018/01/29(月) 06:31:31.02ID:1VUu5V2b0 >>761
関係ないけどフォントって何?
関係ないけどフォントって何?
768>>767 (ワッチョイ bac2-rgA5)
2018/01/29(月) 06:32:39.08ID:1VUu5V2b0 あ、VSの表示に使っているフォントね
769愛知人
2018/01/29(月) 13:34:43.26ID:pcTu+bOr メイリオ
770デフォルトの名無しさん (ワッチョイ 9e9f-eGIS)
2018/01/29(月) 16:33:40.56ID:FA24LoNZ0 配列の要素すべてが0もしくは1000でなかったらという論理式を書きたいのですが
771デフォルトの名無しさん (アウアウエー Saf2-BM8y)
2018/01/29(月) 16:59:53.70ID:p1yk/NdGa で、っていう
その文章、「でない」がどう掛かるのかあいまいで二通りの解釈が可能だから、
解釈の余地がなくなる別の表現を工夫した方がいいと思うよ
その文章、「でない」がどう掛かるのかあいまいで二通りの解釈が可能だから、
解釈の余地がなくなる別の表現を工夫した方がいいと思うよ
772愛知人
2018/01/29(月) 17:05:56.81ID:pcTu+bOr >>770
arr.All(x=>x!=0&&x!=1000)
arr.All(x=>x!=0&&x!=1000)
773デフォルトの名無しさん (ブーイモ MMda-jjF6)
2018/01/29(月) 17:42:29.88ID:vA4dMQ1gM774愛知人
2018/01/29(月) 18:26:02.43ID:pcTu+bOr 反射的にレスしてすまん
たしかに2通りあるな
たしかに2通りあるな
775デフォルトの名無しさん (ワッチョイ b703-rERY)
2018/01/29(月) 18:58:15.23ID:z90g+lRG0 ねえわwリアルでもこんなアスペばかりで困るけどなw
776愛知人
2018/01/29(月) 19:04:54.22ID:k6Igz8nX arr.All(x=>!(x==0||x==1000))
!arr.All(x=>x==0||x==1000)
!arr.All(x=>x==0||x==1000)
777デフォルトの名無しさん (ワントンキン MMaa-NOrK)
2018/01/29(月) 19:08:04.50ID:vO9vHw7qM 日本語で書くから間違える
最初からコード書けばいいのにね
最初からコード書けばいいのにね
778デフォルトの名無しさん (ワッチョイ 5717-fPTX)
2018/01/29(月) 19:10:08.17ID:CbBWbMhk0 >>775
お前の読解力が絶望的だってのはわかった
お前の読解力が絶望的だってのはわかった
779デフォルトの名無しさん (アメ MMaf-Ah9j)
2018/01/29(月) 19:48:59.46ID:4EZh8ZpyM780デフォルトの名無しさん (ワッチョイ 9606-rgA5)
2018/01/29(月) 20:09:39.08ID:Ml84jtHT0 anyのことも、偶には思い出してやって下さい
781愛知人
2018/01/29(月) 21:07:54.20ID:pcTu+bOr 解ってます
782デフォルトの名無しさん (ワッチョイ 0bed-La00)
2018/01/31(水) 06:50:26.36ID:ywuJndNd0 >>689
どーせ、CreateCompatibleDCみたいな話
どーせ、CreateCompatibleDCみたいな話
783デフォルトの名無しさん (ワッチョイ 27e3-5dAg)
2018/01/31(水) 07:23:04.73ID:NBRruYI30 >>782
それどっかにまとめないかな?
それどっかにまとめないかな?
784デフォルトの名無しさん (アウアウウー Sa77-rgA5)
2018/01/31(水) 12:33:39.58ID:Hr5M/E+Xa 初心者だからわからないんだろうけど
そういうリソース系は数量をチェックしても無駄だよ
チェックした時点で大丈夫かもしれないけど
使うとき限界に達してるかもしれない
どこも保証しない
実行して失敗なら失敗
そういうリソース系は数量をチェックしても無駄だよ
チェックした時点で大丈夫かもしれないけど
使うとき限界に達してるかもしれない
どこも保証しない
実行して失敗なら失敗
785デフォルトの名無しさん (アウアウウー Sa77-rgA5)
2018/01/31(水) 12:36:13.73ID:Hr5M/E+Xa 鉛筆の数をチェックしてあまり1本あっても自分が使うまでのわずかな間に
別のアプリがその鉛筆を使うと自分は使えない
別のアプリがその鉛筆を使うと自分は使えない
786デフォルトの名無しさん (ドコグロ MM32-5dAg)
2018/01/31(水) 12:37:16.98ID:202u6MlTM 開放のルールがワカンネ
787デフォルトの名無しさん (アウアウウー Sa77-rgA5)
2018/01/31(水) 12:40:26.06ID:Hr5M/E+Xa いきなり鉛筆をつかもうとする
つかめなかったらwindowsは異常な事態になってるので回復は不能
アプリを落とす
自分で鉛筆を使ってる場合使わなくなったら即座に開放
たったこれだけ
つかめなかったらwindowsは異常な事態になってるので回復は不能
アプリを落とす
自分で鉛筆を使ってる場合使わなくなったら即座に開放
たったこれだけ
788デフォルトの名無しさん (ペラペラ SD3b-LUfI)
2018/01/31(水) 12:51:37.68ID:YgPJ7UgLD c♯固有の話では無いですがインターフェースのファイルとクラスのファイルは一般的に同じフォルダに入れてるのでしょうか?
インターフェース用フォルダ、抽象クラス用フォルダ、クラス用フォルダと分けた方が見やすいとかあるのかなと思いまして
インターフェース用フォルダ、抽象クラス用フォルダ、クラス用フォルダと分けた方が見やすいとかあるのかなと思いまして
789デフォルトの名無しさん (アウアウウー Sa77-rgA5)
2018/01/31(水) 12:54:49.47ID:Hr5M/E+Xa c#固有じゃないとは言い切れない
ご自由にというか
その時のルールがあるならそれに従えばいい
c#はjavaのようにフォルダ構造が名前空間じゃないから
ご自由にというか
その時のルールがあるならそれに従えばいい
c#はjavaのようにフォルダ構造が名前空間じゃないから
790デフォルトの名無しさん (ブーイモ MM06-jjF6)
2018/01/31(水) 13:01:03.78ID:5zei4l0gM791デフォルトの名無しさん (バットンキン MM8f-LUfI)
2018/01/31(水) 18:20:28.08ID:SANOK0fjM792デフォルトの名無しさん (アウアウエー Saf2-BM8y)
2018/01/31(水) 18:51:07.07ID:K5Al/IGma いや、それは単にVSがそういう前提で作ってある(ソリューションエクスプローラから
新規にファイルを作った時のスケルトンの名前空間がプロジェクトの規定の名前空間に
フォルダ階層がくっついたものになる)ってだけの話で、別に必要なら単に分類のために
フォルダ作ってもいいと思うよw
そんなケースはあんまりないとは思うけど
新規にファイルを作った時のスケルトンの名前空間がプロジェクトの規定の名前空間に
フォルダ階層がくっついたものになる)ってだけの話で、別に必要なら単に分類のために
フォルダ作ってもいいと思うよw
そんなケースはあんまりないとは思うけど
793デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/31(水) 19:49:36.61ID:Hr5M/E+Xa そういう前提には作ってないよ
設定があってチェック外せばどのフォルダで作っても同じ名前空間になる
設定があってチェック外せばどのフォルダで作っても同じ名前空間になる
794愛知人
2018/01/31(水) 19:50:28.99 このエラーの原因が分りません、教えてください(>_<)
https://i.imgur.com/0hN1rC0.png
https://i.imgur.com/0hN1rC0.png
795デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/31(水) 19:52:10.31ID:Hr5M/E+Xa796愛知人!id:ignore (ワッチョイ e305-5Mtj)
2018/01/31(水) 19:54:02.69ID:3eBSylxa0 >>795
ありがとうございます!
ありがとうございます!
797デフォルトの名無しさん (ワッチョイ 8bc9-rgA5)
2018/01/31(水) 19:54:19.37ID:Ul/zaXpy0 >>794
マゲガー
マゲガー
798デフォルトの名無しさん (アウアウウー Sa77-W10G)
2018/01/31(水) 19:58:03.82ID:Hr5M/E+Xa おかしいと思ったらコピーして検索してみろ
799デフォルトの名無しさん (アメ MMaf-Ah9j)
2018/01/31(水) 20:41:19.03ID:6Q7+onpXM >>798
最大で140℃くらいまでしか開かないので、コピー機に入りません(>_<)
最大で140℃くらいまでしか開かないので、コピー機に入りません(>_<)
800デフォルトの名無しさん (スププ Sdda-La00)
2018/01/31(水) 21:11:48.89ID:uhY/QizFd >>783
昔、GDI+とMFC or Win32APIから.netに移行する表とその説明があったけど、検索で調べきれないわ。
さかのぼると、WM_PAINT, BeginPaintとか古典的な描画APIとかの話になるから
今、ディスプレイドライバーのソースを見てるけど、なかなか説明が難しいわ
ごめんなさいね
昔、GDI+とMFC or Win32APIから.netに移行する表とその説明があったけど、検索で調べきれないわ。
さかのぼると、WM_PAINT, BeginPaintとか古典的な描画APIとかの話になるから
今、ディスプレイドライバーのソースを見てるけど、なかなか説明が難しいわ
ごめんなさいね
801デフォルトの名無しさん (ワッチョイ f783-j4Dg)
2018/02/01(木) 03:40:13.00ID:J9JLK/T20 デバイスコンテキストの説明になんでドライバまで降りるねん。
802デフォルトの名無しさん (ワッチョイ f78a-EKSC)
2018/02/01(木) 04:01:11.67ID:XxNDw1fe0 最近この板変な人が多いの
803デフォルトの名無しさん (ワッチョイ b7cc-9ylI)
2018/02/01(木) 07:50:14.98ID:jtx9E0YE0 知識をひけらかしたいだけでしょ
804デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/01(木) 11:30:02.30ID:DhFBeVpNa 非常に単純化した話として
windowsは特定のリソースを数字で管理してるけど
その数字の上限が決まってる
管理してる空きがないと確保できない
単純な話
出来ないものはできない
それだけ
何も難しくない
windowsは特定のリソースを数字で管理してるけど
その数字の上限が決まってる
管理してる空きがないと確保できない
単純な話
出来ないものはできない
それだけ
何も難しくない
805デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/01(木) 11:31:56.97ID:DhFBeVpNa だから使わなくなったらすぐに解放しておけばいい
それだけ
何も難しいことはないけど馬鹿がこねくり回して難しい難しい言ってるだけ
サンプルソースで開放してないのは1個ぐらいもれてても実害はないから
実装する際は自分で実装したらいい
それだけ
何も難しいことはないけど馬鹿がこねくり回して難しい難しい言ってるだけ
サンプルソースで開放してないのは1個ぐらいもれてても実害はないから
実装する際は自分で実装したらいい
806デフォルトの名無しさん (ワッチョイ 9fc3-SVib)
2018/02/01(木) 12:00:06.18ID:1x8PgmKV0 実はウンコもちょっとくらいもれてても実害はない。お前のパンツは飾りか?
807デフォルトの名無しさん (ワッチョイ b7cc-9ylI)
2018/02/01(木) 12:09:28.60ID:jtx9E0YE0 パンツに漏れてるウンコなら気にしちゃうけど
公園の片隅に置いてあるウンコは無視しちゃう
公園の片隅に置いてあるウンコは無視しちゃう
808デフォルトの名無しさん (オッペケ Srcb-ggKF)
2018/02/01(木) 12:23:03.42ID:0snSQv2vr 気にしたやつが負け
809愛知人
2018/02/01(木) 22:50:11.02 WinFormsの自作Componemtでデータをネットから取得するメソッドで、完了と失敗のイベントを実装するのは普通ですか?
810デフォルトの名無しさん (ワッチョイ f706-wbgk)
2018/02/02(金) 00:11:33.54ID:JsFuCwNz0 問題ないと思うが、今の流行りならasync Task<Hoge>等で結果返すパターンかな
811デフォルトの名無しさん (ワンミングク MM7f-NUVM)
2018/02/02(金) 00:34:30.18ID:cT4GbCx9M コールバック地獄は嫌だ
812愛知人!id:ignore (ワッチョイ 9775-jUAt)
2018/02/02(金) 00:51:28.62ID:jGftTsx+0 ありがとうございます(>_<)
813デフォルトの名無しさん (ワッチョイ 9fc3-Z3C6)
2018/02/02(金) 08:11:51.44ID:prG6i1oZ0814デフォルトの名無しさん (ワッチョイ 1feb-j4Dg)
2018/02/02(金) 11:49:47.51ID:BMFcc+go0 U+2028/2029に初めて遭遇したんだが
文字列を1文字ずつ走査して IsSeparator が true だったら削除して詰める、って関数ない?
文字列を1文字ずつ走査して IsSeparator が true だったら削除して詰める、って関数ない?
815デフォルトの名無しさん (オッペケ Srcb-ggKF)
2018/02/02(金) 12:19:04.07ID:dTcbVnf+r 秒で書けるのによくそんな事質問する気になるな
気が長いやつだ
気が長いやつだ
816愛知人
2018/02/02(金) 12:29:56.98 >>814
Replace
Replace
817デフォルトの名無しさん (ワッチョイ 1feb-j4Dg)
2018/02/02(金) 12:34:09.95ID:BMFcc+go0 また拡張メソッドが増えた
818愛知人
2018/02/02(金) 12:37:13.44 区切り文字を削除したいシチュエーションなんか普通はないしな
知らんけど
知らんけど
819デフォルトの名無しさん (ワッチョイ 1feb-j4Dg)
2018/02/02(金) 12:38:34.03ID:BMFcc+go0 ところで拡張メソッドって参照されないんだっけ?
public static System.Data.SqlClient.SqlCommand CreateCommand(this System.Data.SqlClient.SqlTransaction SqlTransaction)
{
var SqlCommand = SqlTransaction.Connection.CreateCommand();
SqlCommand.Transaction = SqlTransaction;
return SqlCommand;
}
BeginTransaction した後のトランザクションを使って CreateCommand すると
トランザクションの内側に入る、的な糞メソッドを作ったんだけど
どうやら、トランザクションの外側になっちゃうっぽいんだ。
→ Rollback しても戻らない
→ ブレークポイントしながら見てると、トランザクション自体が開始されていない
ref this で解決するかと思いきやクラスはダメで使えない
VB.NET だと普通に出来ちゃうと聞くが
public static System.Data.SqlClient.SqlCommand CreateCommand(this System.Data.SqlClient.SqlTransaction SqlTransaction)
{
var SqlCommand = SqlTransaction.Connection.CreateCommand();
SqlCommand.Transaction = SqlTransaction;
return SqlCommand;
}
BeginTransaction した後のトランザクションを使って CreateCommand すると
トランザクションの内側に入る、的な糞メソッドを作ったんだけど
どうやら、トランザクションの外側になっちゃうっぽいんだ。
→ Rollback しても戻らない
→ ブレークポイントしながら見てると、トランザクション自体が開始されていない
ref this で解決するかと思いきやクラスはダメで使えない
VB.NET だと普通に出来ちゃうと聞くが
820愛知人
2018/02/02(金) 19:36:31.54 コードでコントロールのプロパティを規定値(DefalutValue属性の値)にリセットする方法はありますか?(>_<)
821デフォルトの名無しさん (ワキゲー MMdf-lmiZ)
2018/02/02(金) 19:54:02.62ID:UX+Yt5X5M PropertyDescriptor(ctrl).GetProperties()[nameof(ctrl.Property)].ResetValue();
822デフォルトの名無しさん (ワキゲー MMdf-lmiZ)
2018/02/02(金) 19:54:48.71ID:UX+Yt5X5M あ、.ResetValue(ctrl)だった
823愛知人!id:ignore (ワッチョイ 9775-jUAt)
2018/02/02(金) 20:50:42.32ID:jGftTsx+0 ありがとうございます(>_<)
824デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/02(金) 21:57:28.18ID:Zl28+evz0 c#っぽい独自言語の解析をしてるんですが
コメントの「//」や「/*」「*/」の解析って
ダブルコーテーション内と外ってどうやって判断したらよいでしょうか?
コメントの「//」や「/*」「*/」の解析って
ダブルコーテーション内と外ってどうやって判断したらよいでしょうか?
825デフォルトの名無しさん (ワッチョイ 57b3-E/qE)
2018/02/02(金) 21:59:32.04ID:z7oDIr3g0 スタックに積む
826デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/02(金) 22:38:26.26ID:dT49NCpma >>824
やり方次第
作ったことあるのでわかりやすいのは文法をのままコードにする
頭から呼んでって状態を覚えておく
文字リテラル内は解析しないでエスケープルールや”の監視だけする
//や/*コメントの時は行末まで読み捨て
やり方次第
作ったことあるのでわかりやすいのは文法をのままコードにする
頭から呼んでって状態を覚えておく
文字リテラル内は解析しないでエスケープルールや”の監視だけする
//や/*コメントの時は行末まで読み捨て
827デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/02(金) 22:39:44.98ID:dT49NCpma 間違い
/*は*/を読み捨てしたらダメだなw
/*は*/を読み捨てしたらダメだなw
828デフォルトの名無しさん (ワッチョイ 1705-CU+w)
2018/02/02(金) 22:40:01.25ID:pft3AbU10 パーサジェネレータ使えよ
829デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/02(金) 22:48:59.30ID:Zl28+evz0 >>826
それがわからない
文字列リテラルなのかコメントなのか判断できない
ダブルコーテーションから判定するとそれがコメントだったとき駄目
コメントから判定するとそれが文字列リテラルだったとき駄目
っていうパラドックス
それがわからない
文字列リテラルなのかコメントなのか判断できない
ダブルコーテーションから判定するとそれがコメントだったとき駄目
コメントから判定するとそれが文字列リテラルだったとき駄目
っていうパラドックス
830デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/02(金) 22:52:11.72ID:dT49NCpma831デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/02(金) 22:56:57.54ID:dT49NCpma 急がないならどれかの言語のコードでもじっくり読んで勉強したらいい
大体の言語はオープンソースなので好きなのをやればいい
ただしc++の知識ぐらいはいる
急ぐならテストパターンを十分に用意して手あたり次第やればいい
大体の言語はオープンソースなので好きなのをやればいい
ただしc++の知識ぐらいはいる
急ぐならテストパターンを十分に用意して手あたり次第やればいい
832デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/02(金) 23:08:58.70ID:Zl28+evz0833デフォルトの名無しさん (ワッチョイ 57b3-E/qE)
2018/02/02(金) 23:10:39.49ID:z7oDIr3g0 >同じ行の前側みて
うん、かなり無茶苦茶だな
先頭から順に読んでいって、「今は文字列リテラル中」とか「今はコメント中」とかの状態を保持しておけよ
うん、かなり無茶苦茶だな
先頭から順に読んでいって、「今は文字列リテラル中」とか「今はコメント中」とかの状態を保持しておけよ
834デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/02(金) 23:15:27.28ID:dT49NCpma 独自言語の解析してるんだろ?
他の部分が出来てるなら
普通に頭から読んでって "が出たらリテラルフラグオンにして
//が出たら行末まで読み捨て
/*だったら次の*/がでるまで捨てるだけ
何も難しくない
他の部分が出来てるなら
普通に頭から読んでって "が出たらリテラルフラグオンにして
//が出たら行末まで読み捨て
/*だったら次の*/がでるまで捨てるだけ
何も難しくない
835デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/02(金) 23:17:24.91ID:dT49NCpma 文字が抜けた
"が出たらリテラルフラグオンにして仕様通りリテラルを最後まで読み切るだけ
"が出たらリテラルフラグオンにして仕様通りリテラルを最後まで読み切るだけ
836デフォルトの名無しさん (ワッチョイ 7703-skLA)
2018/02/02(金) 23:18:02.29ID:HOyQOl0G0 独自言語が逐次実行される前提で話してるな
837デフォルトの名無しさん (ワッチョイ 57b3-E/qE)
2018/02/02(金) 23:18:46.57ID:z7oDIr3g0 もしかして、1文字ずつじゃなく1行ずつ読み込んでるんじゃないだろうな
838デフォルトの名無しさん (ワッチョイ 57b3-E/qE)
2018/02/02(金) 23:22:20.25ID:z7oDIr3g0839デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/02(金) 23:24:38.81ID:yHy9QEH1a840デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/02(金) 23:24:41.10ID:dT49NCpma841デフォルトの名無しさん (ワッチョイ 7717-j4Dg)
2018/02/02(金) 23:24:55.99ID:ErA95Rap0 >>834-835で答えが出てるのでこれ以上はスレの無駄遣い
842デフォルトの名無しさん (ワッチョイ 7703-ggKF)
2018/02/02(金) 23:27:13.14ID:HOyQOl0G0 >>838
横ぐるまを押したか
横ぐるまを押したか
843デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/03(土) 00:00:03.20ID:S/Wa3aFw0844デフォルトの名無しさん (ワッチョイ bf7f-qlLX)
2018/02/03(土) 00:06:47.29ID:pHRpw+FT0 >>843
そんなのはルール次第
そんなのはルール次第
845デフォルトの名無しさん (ワッチョイ d780-miZj)
2018/02/03(土) 00:15:01.77ID:NdjAbgSB0 例えばC#なら@""で改行入れられるし
846愛知人!id:ignore (ワッチョイ 9775-jUAt)
2018/02/03(土) 00:17:09.98ID:GkUi/Itq0 そのときだけ行またげばいいだけだし
847デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/03(土) 00:34:25.55ID:S/Wa3aFw0848デフォルトの名無しさん (ワッチョイ 57b3-E/qE)
2018/02/03(土) 00:38:09.24ID:AuUEv0AE0 知らんかったんかいw
コメントは削除するんでなく、「読み捨てる」んだ
コメントは削除するんでなく、「読み捨てる」んだ
849デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/03(土) 00:41:40.01ID:S/Wa3aFw0 >>848
いや、似非c#だからそんなことできんだろと
いや、似非c#だからそんなことできんだろと
850デフォルトの名無しさん (ブーイモ MMfb-+DFt)
2018/02/03(土) 00:53:02.56ID:PxR3gYBlM ヒアドキュメントを除いたとしてもしソースの先頭の/*をどうやってみつける?
状態を持たないならソースの頭までさかのぼるしかない
状態を持たないならソースの頭までさかのぼるしかない
851デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/03(土) 00:58:38.87ID:S/Wa3aFw0 >>850
いや、今のルーチンはコメントの削除からやってるのよ
いや、今のルーチンはコメントの削除からやってるのよ
852デフォルトの名無しさん (ワッチョイ b781-j4Dg)
2018/02/03(土) 01:03:27.72ID:OVqIgYtY0 コメントも文字列も先に始まったほうが勝つからどうしょうもない
853デフォルトの名無しさん (ブーイモ MMfb-+DFt)
2018/02/03(土) 01:06:21.86ID:PxR3gYBlM 質問しといて聞かないパターン=成長しない初心者パターン
854デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/03(土) 01:12:38.71ID:xyf2cJ8Ka ただ悩みを聞いて欲しかったんじゃないですか
女の相談事みたいなw
まあ、どうせ人も減ってるしそれもありでしょう
女の相談事みたいなw
まあ、どうせ人も減ってるしそれもありでしょう
855デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/03(土) 01:24:32.23ID:S/Wa3aFw0856デフォルトの名無しさん (ワッチョイ 9fc3-Z3C6)
2018/02/03(土) 08:34:38.62ID:WhjNgY2U0857デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 09:02:44.63ID:LvTBogUR0 swich() { case xxxx: ~
xxxxに変数をつかいたいのだが、switchに変わるものってなに?
xxxxに変数をつかいたいのだが、switchに変わるものってなに?
858デフォルトの名無しさん (ワッチョイ d780-lEY8)
2018/02/03(土) 09:33:50.59ID:NdjAbgSB0 if
859デフォルトの名無しさん (ワッチョイ 9f60-w+Fq)
2018/02/03(土) 09:53:42.04ID:nKXUpnsB0 >>857
xxxが数値か文字列なら変数だろうと使えたはずです。オブジェクトの場合、同値の判定が基本型のように単純じゃないから無理。
xxxが数値か文字列なら変数だろうと使えたはずです。オブジェクトの場合、同値の判定が基本型のように単純じゃないから無理。
860デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 10:50:39.85ID:LvTBogUR0 switchi( (button)sender) ){
case Button1: ~
case Button2:~
case Button3:~
}
こんな感じのことがしたい。
〜はMethod()でいいので、
void switch_tb()= {
{Button1, Method1}
{Button2, Method2}
{Button3, Method3}
}
switch_suru((button)sender);
こんなことできんか?
case Button1: ~
case Button2:~
case Button3:~
}
こんな感じのことがしたい。
〜はMethod()でいいので、
void switch_tb()= {
{Button1, Method1}
{Button2, Method2}
{Button3, Method3}
}
switch_suru((button)sender);
こんなことできんか?
861デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 10:52:21.97ID:LvTBogUR0 C#はメソッドの中のローカルメソッドってできへんの?
862デフォルトの名無しさん (ワッチョイ fffa-K3c3)
2018/02/03(土) 11:00:14.66ID:VOrllN0n0 >>860
素直にButtonのNameプロパティ使え
素直にButtonのNameプロパティ使え
863デフォルトの名無しさん (ワッチョイ ffc9-wbgk)
2018/02/03(土) 11:01:41.64ID:Ns10a1iN0 >>861
C#7で出来るようになったよ
C#7で出来るようになったよ
864デフォルトの名無しさん (ワッチョイ f783-j4Dg)
2018/02/03(土) 11:41:19.78ID:ZFgrbY8z0 糞化が止まらないのか。
865デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/03(土) 12:15:40.34ID:7uT3RC1La メソッド内メソッドは無くてもいい機能
メンバー封じ込めの方法はいくらでもあるし
ないほうがエラー見つけやすいと個人的には思う
メンバー封じ込めの方法はいくらでもあるし
ないほうがエラー見つけやすいと個人的には思う
866デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 12:24:29.31ID:LvTBogUR0 いい方法をみーつけ
867デフォルトの名無しさん (オッペケ Srcb-ggKF)
2018/02/03(土) 12:24:59.79ID:ROxRBp/zr バグだろwなにちょっと誤魔化そうとしてんのw
868デフォルトの名無しさん (スッップ Sdbf-uiFW)
2018/02/03(土) 12:29:16.06ID:0dr4TWncd >>864
言語の変化についていけないやつの糞化な
言語の変化についていけないやつの糞化な
869デフォルトの名無しさん (ワッチョイ 9f60-w+Fq)
2018/02/03(土) 12:30:20.78ID:nKXUpnsB0870デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/03(土) 12:31:12.90ID:7uT3RC1La メソッド内メソッドはjavaでずっと使ってたけど
クラスを小さくしていくと使う場面は限られていく
クラスを小さくしていくと使う場面は限られていく
871デフォルトの名無しさん (ワッチョイ 1705-CU+w)
2018/02/03(土) 12:33:37.55ID:Iq/kHIZ+0 初心者っぽくていいじゃん
「この機能が存在する意味が分からないんですけど、何の役に立つんですか?」
って定番の質問じゃん
「この機能が存在する意味が分からないんですけど、何の役に立つんですか?」
って定番の質問じゃん
872デフォルトの名無しさん (ワッチョイ f783-j4Dg)
2018/02/03(土) 12:40:45.58ID:ZFgrbY8z0 使ってる奴も糞ばっかになったな。新しい機能一つ覚えただけでマウンティングしだすアホとか。
なぜその機能が糞かが理解できない脳みそ。取り巻きからして残念な言語になってしまった。
なぜその機能が糞かが理解できない脳みそ。取り巻きからして残念な言語になってしまった。
873愛知人
2018/02/03(土) 12:41:41.35 あらら、怒っちゃった(笑)
874デフォルトの名無しさん (ワッチョイ ff9a-HmOu)
2018/02/03(土) 12:43:15.80ID:8oBsvnpG0875デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/03(土) 12:45:57.31ID:DOsYwXsiM 今後も言語仕様はどんどん拡張されるよ
他の言語の有名なのどんどん取り入れてってカオスになっていく
個人的には範囲指定が欲しい
1..5か1:5みたいなの
他の言語の有名なのどんどん取り入れてってカオスになっていく
個人的には範囲指定が欲しい
1..5か1:5みたいなの
876愛知人
2018/02/03(土) 12:50:20.68 Enumerable.Rangeじゃだめなん?
877デフォルトの名無しさん (ワッチョイ 7717-j4Dg)
2018/02/03(土) 12:51:56.63ID:8eNVn+fl0 >>874
せめてnameof使って書けよ
せめてnameof使って書けよ
878デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/03(土) 12:56:57.86ID:DOsYwXsiM foreach(var i in Enumerable.Range(1,5))
foreach(var i in 1..5)
どっちがいい?
foreach(var i in 1..5)
どっちがいい?
879デフォルトの名無しさん (ワッチョイ 7717-j4Dg)
2018/02/03(土) 12:58:29.57ID:8eNVn+fl0 圧倒的に上
880デフォルトの名無しさん (ワッチョイ d79b-CNA0)
2018/02/03(土) 13:02:13.44ID:kCPWN5tp0 >>860
ButtonのTagにやりたいこと突っ込んどけ
ButtonのTagにやりたいこと突っ込んどけ
881デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/03(土) 13:06:02.52ID:DOsYwXsiM いい方法
buttun1.Click=>{Method1();};
buttun1.Click=>{Method1();};
882デフォルトの名無しさん (ワッチョイ f783-j4Dg)
2018/02/03(土) 14:17:08.45ID:ZFgrbY8z0 どう書いたらいいか分からないのが糞言語の証左。
883デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 15:26:42.67ID:LvTBogUR0884デフォルトの名無しさん (スッップ Sdbf-Ismr)
2018/02/03(土) 15:30:37.45ID:d68F6UhId885デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 15:33:25.80ID:LvTBogUR0 var aa = ((Button)sender).Equals(button1) ? func1() :
((Button)sender).Equals(button2) ? func2() :
func2();
これどう?
((Button)sender).Equals(button2) ? func2() :
func2();
これどう?
886デフォルトの名無しさん (ワッチョイ ff9a-HmOu)
2018/02/03(土) 15:34:12.79ID:8oBsvnpG0 >>884
ButtonのName変更ってどんな実装に必要なんだよ・・・
ButtonのName変更ってどんな実装に必要なんだよ・・・
887デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 15:39:26.04ID:LvTBogUR0 >ButtonのName変更ってどんな実装に必要なんだよ・・・
最初はBUtton1だろ。出来上がって綺麗に整理するときにbtnSetParamとか分かりやすく書き換える。
最初はBUtton1だろ。出来上がって綺麗に整理するときにbtnSetParamとか分かりやすく書き換える。
888デフォルトの名無しさん (ワッチョイ ff9a-HmOu)
2018/02/03(土) 15:40:26.14ID:8oBsvnpG0 >>885
それならEqualsじゃなくてsender==button1?でいいよ。キャストもいらない
それならEqualsじゃなくてsender==button1?でいいよ。キャストもいらない
889デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 15:40:45.84ID:LvTBogUR0 Button.Nameをつかうくらいなら、Tagに書き込んだ方がまし。
890デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 15:41:39.80ID:LvTBogUR0 >888
あ、そうなん?
あ、そうなん?
891デフォルトの名無しさん (スッップ Sdbf-Ismr)
2018/02/03(土) 15:43:31.84ID:d68F6UhId 実装後にスペルミスに気付いた、他の画面との兼ね合いで名称を統一することになった、仮の名前をちゃんとした名前に置き換えた、とか色々あるだろ
リフレクションでデータ取得する方針のせいでガチガチに名前が決められている画面を作らされたときの面倒さったらなかったわ
リフレクションでデータ取得する方針のせいでガチガチに名前が決められている画面を作らされたときの面倒さったらなかったわ
892デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 15:43:52.16ID:LvTBogUR0 キャストしないとインテリセンスがでないから、キャストしたほうがいいよ。
893デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/03(土) 16:57:11.29ID:Rh9ysymEa こんなの考えたが、
public class CaseAction
{
public CaseAction(object @object, Action action)
{
Object = @object; Action = action;
}
public Action Action { get; private set; }
public object Object { get; private set; }
}
public static class Extensions
{
public static void Switch(this object o, params CaseAction[] caseActions)
{
caseActions.FirstOrDefault(x => x.Object == o)?.Action();
}
}
やっぱり使いづらそうだなw
ところで書いててちょっと思ったけど、==演算子の動作って隠蔽(new)と同じように変数の型に
依存するのか、それともオーバーライドと同じようにオブジェクトの型に依存ずるのか、どっちだっけ?
public class CaseAction
{
public CaseAction(object @object, Action action)
{
Object = @object; Action = action;
}
public Action Action { get; private set; }
public object Object { get; private set; }
}
public static class Extensions
{
public static void Switch(this object o, params CaseAction[] caseActions)
{
caseActions.FirstOrDefault(x => x.Object == o)?.Action();
}
}
やっぱり使いづらそうだなw
ところで書いててちょっと思ったけど、==演算子の動作って隠蔽(new)と同じように変数の型に
依存するのか、それともオーバーライドと同じようにオブジェクトの型に依存ずるのか、どっちだっけ?
894デフォルトの名無しさん (ワッチョイ 9f60-w+Fq)
2018/02/03(土) 20:30:42.15ID:nKXUpnsB0 ふと思ったが、ふつうにそれぞれのボタンのイベントに実装したらダメなの
895デフォルトの名無しさん (ワッチョイ 9fb3-mP5N)
2018/02/03(土) 20:34:51.83ID:Zh144c7Y0 >>894
ほとんど共通でボタン毎にちょっとだけ処理が違うとかじゃね
ほとんど共通でボタン毎にちょっとだけ処理が違うとかじゃね
896デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 21:11:27.96ID:LvTBogUR0 グループボックスにボタンを貼り付けて、それをコピーして貼り付けると、イベントが同じところになるだろ。
だからエディット都合だな。
イベントで分けるのが一番いい方法かもしれない。w
だからエディット都合だな。
イベントで分けるのが一番いい方法かもしれない。w
897デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 21:13:35.51ID:LvTBogUR0 再表示するために tabPage1.Controls.Add(grp);で追加したgrpだけをクリアするにはどうしたらいいの?
tabPage1.Controls.Clear(); やるとボタンが消えてしまう。
tabPage1.Controls.Clear(); やるとボタンが消えてしまう。
898デフォルトの名無しさん (ワッチョイ 9f60-w+Fq)
2018/02/03(土) 21:27:16.93ID:nKXUpnsB0 Controlsプロパティの型はControl.ControlCollectionで
そのクラスのドキュメントを見ましょう。
Remove(Control)というのがあったのでそれで削除できそうです。
そのクラスのドキュメントを見ましょう。
Remove(Control)というのがあったのでそれで削除できそうです。
899デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 21:35:57.81ID:LvTBogUR0 Removeを使うのはわかるんだが、要するになにがしたいのかというと
Linqを使ってControlsにAddしたGroupBoxだけを選択して、クリアしたいということ。
その書き方がわからない。ということ。
Linqを使ってControlsにAddしたGroupBoxだけを選択して、クリアしたいということ。
その書き方がわからない。ということ。
900デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/03(土) 21:39:38.95ID:SzFJuxtQa 再表示とかクリアとか俺様な用語法されても何言ってるのか分からないよw
901デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 21:46:23.78ID:LvTBogUR0 tabPage1に貼り付けたコントロール群をLinqを使って選択的に消去したいということ。これでもわからん?
902デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/03(土) 21:49:30.86ID:DOsYwXsiM903デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/03(土) 21:52:32.07ID:DOsYwXsiM 煽って悪かったけど
その書き方じゃ誰にもつたわらないよ
意味がわからないけどgrpを消したいならgrpをどこかに記録しておけばいい
終わり
はい次の方〜
その書き方じゃ誰にもつたわらないよ
意味がわからないけどgrpを消したいならgrpをどこかに記録しておけばいい
終わり
はい次の方〜
904デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 21:54:28.34ID:LvTBogUR0 解決した。w
905デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/03(土) 21:55:50.09ID:DOsYwXsiM906デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 21:57:07.86ID:LvTBogUR0 >903
Keyになる言葉の意味がわからないと解らないと思うよ。それが解る人にはわかる。
Keyになる言葉の意味がわからないと解らないと思うよ。それが解る人にはわかる。
907デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/03(土) 21:59:39.27ID:bTwAHw5A0 なんでこいつこんなに偉そうなの?
908デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/03(土) 22:00:08.72ID:DOsYwXsiM 小学生だから
909デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/03(土) 22:08:58.48ID:SzFJuxtQa var toRemove = tabPage1.Controls.Cast<Control>().FirstOrDefault( .... );
if (toRemove != null)
tabPage1.Controls.Remove(toRemove);
これを1行にしたいってことだったのかな?
拡張メソッド使ってControl側に自分を包含するコンテナのControlCollectionを
引数に撮るメソッドを定義しないとできない気がする
何でもいいけど、冗長でもいいから分かるように書いて欲しいよね
if (toRemove != null)
tabPage1.Controls.Remove(toRemove);
これを1行にしたいってことだったのかな?
拡張メソッド使ってControl側に自分を包含するコンテナのControlCollectionを
引数に撮るメソッドを定義しないとできない気がする
何でもいいけど、冗長でもいいから分かるように書いて欲しいよね
910デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 22:13:41.72ID:LvTBogUR0 そんな書き方しかでけん?
911デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/03(土) 22:16:15.65ID:DOsYwXsiM912デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/03(土) 22:23:57.61ID:SzFJuxtQa 無理矢理だなあ
Action<Control> removeMe = x => x?.Parent?.Controls.Remove(x);
removeMe(
tabPage1.Controls.Cast<Control>().FirstOrDefault( .... )
);
Action<Control> removeMe = x => x?.Parent?.Controls.Remove(x);
removeMe(
tabPage1.Controls.Cast<Control>().FirstOrDefault( .... )
);
913愛恥人
2018/02/03(土) 22:34:23.85 最初のレスだけで理解できる俺は天才なのか
914デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/03(土) 22:38:53.52ID:SzFJuxtQa むしろエスパー
915デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/03(土) 22:43:30.44ID:DOsYwXsiM そして明後日の方向のレスに食いついてる
916デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 22:54:26.09ID:LvTBogUR0 private void button3_Click(object sender, EventArgs e)
{
var grps = tabPage1.Controls.Cast<Control>().Where(c => c is GroupBox );
foreach (var grpB in grps)
{
tabPage1.Controls.Remove(grpB);
}
}
これで一回で消えないのは何故だろう? grpsには全部のグループボックスが
入っている。しかしforeachでところどころ飛ばしてしまう。
{
var grps = tabPage1.Controls.Cast<Control>().Where(c => c is GroupBox );
foreach (var grpB in grps)
{
tabPage1.Controls.Remove(grpB);
}
}
これで一回で消えないのは何故だろう? grpsには全部のグループボックスが
入っている。しかしforeachでところどころ飛ばしてしまう。
917デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 23:19:59.77ID:LvTBogUR0 あっ、謎がとけた。けっこう落とし穴だな。
918デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 23:32:01.66ID:LvTBogUR0 ケツから消していくとうまくいくんだろきっと。
まえからでもこうやるとうまく行く。
private void button3_Click(object sender, EventArgs e)
{
var grps = tabPage1.Controls.Cast<Control>().Where(c => c is GroupBox );
List<GroupBox> gg = new List<GroupBox>();
foreach (var grp in grps)
{
gg.Add(grp);
}
foreach (var grpB in gg)
{
tabPage1.Controls.Remove(grpB);
}
}
まえからでもこうやるとうまく行く。
private void button3_Click(object sender, EventArgs e)
{
var grps = tabPage1.Controls.Cast<Control>().Where(c => c is GroupBox );
List<GroupBox> gg = new List<GroupBox>();
foreach (var grp in grps)
{
gg.Add(grp);
}
foreach (var grpB in gg)
{
tabPage1.Controls.Remove(grpB);
}
}
919デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 23:33:46.33ID:LvTBogUR0 さて、原理は分ったが、これを1行で書くにはどうするのか?
920愛恥人
2018/02/03(土) 23:40:30.32 逆にグループボックス以外を抽出してからパネルの中身全消去からの追加とかはどうかな(>_<)
921デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/03(土) 23:40:55.06ID:OIRW+vs20 >>919
改行全部消せばいいじゃん
改行全部消せばいいじゃん
922デフォルトの名無しさん (ワッチョイ bf7f-qlLX)
2018/02/03(土) 23:43:21.17ID:pHRpw+FT0923デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/03(土) 23:43:41.06ID:OIRW+vs20924デフォルトの名無しさん (ワッチョイ 179d-mIUl)
2018/02/03(土) 23:49:22.30ID:LvTBogUR0 >920 それ、俺もちょっと考えた。
>921 それは最終手段にとっておいたのに。
Reverse()ってあるんか? それだ!!
>921 それは最終手段にとっておいたのに。
Reverse()ってあるんか? それだ!!
925デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/04(日) 00:42:43.56ID:OrIb/jt1a もう気が済んだかもしれんけど、無理に何でもインラインで書こうとして
可読性落とすなんて愚の骨頂で、普通にメソッドに外だし(別に拡張メソッドじゃなくてもいいけど)
した方がいいと思うけどね
public static class Extensions
{
public static void RemoveChildren(this Control control, Func<Control, bool> predicate)
{
var controls = control.Controls;
controls.Cast<Control>().Where(predicate).ToList().ForEach(x => controls.Remove(x));
}
}
可読性落とすなんて愚の骨頂で、普通にメソッドに外だし(別に拡張メソッドじゃなくてもいいけど)
した方がいいと思うけどね
public static class Extensions
{
public static void RemoveChildren(this Control control, Func<Control, bool> predicate)
{
var controls = control.Controls;
controls.Cast<Control>().Where(predicate).ToList().ForEach(x => controls.Remove(x));
}
}
926デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/04(日) 05:54:59.74ID:vxeWu10H0 https://qiita.com/taigaaa2/items/7f05ad950a57033892ae
この方法で値を保存しているのですが
cドライブに保存されている様でプログラムを他のPCに移すなどすると値が保持されていません
どうすれば他のPCでも記憶した値を使える様になるでしょうか
この方法で値を保存しているのですが
cドライブに保存されている様でプログラムを他のPCに移すなどすると値が保持されていません
どうすれば他のPCでも記憶した値を使える様になるでしょうか
927デフォルトの名無しさん (ワッチョイ ff81-CU+w)
2018/02/04(日) 06:23:40.03ID:ldOBh/kr0 ファイルをコピーする
928デフォルトの名無しさん (ワッチョイ ff81-CU+w)
2018/02/04(日) 06:38:53.27ID:ldOBh/kr0 真面目に答えるならサーバーやクラウドストレージのSettingsを読み書きするSettingsProviderを自作することだが
初心者にはひと月ふた月かかるだろうしはっきり言って時間の無駄
初心者にはひと月ふた月かかるだろうしはっきり言って時間の無駄
929デフォルトの名無しさん (ワッチョイ 7703-skLA)
2018/02/04(日) 08:14:14.99ID:ge7PbLBn0 真面目な答の方が愚策という変な人、というかおそらくバカ
930デフォルトの名無しさん (ワッチョイ ffc9-wbgk)
2018/02/04(日) 08:55:21.88ID:qZv4HzKZ0 >>926
ユーザー共通になっちゃうけど、スコープをユーザーからアプリケーションに変更すればexeと同じディレクトリに保存するよ
ユーザー共通になっちゃうけど、スコープをユーザーからアプリケーションに変更すればexeと同じディレクトリに保存するよ
931愛恥人
2018/02/04(日) 10:35:42.99 >>762でユーザーにしたら動いた原因はなに?
932デフォルトの名無しさん (ワッチョイ 9f19-iu0y)
2018/02/04(日) 12:47:08.55ID:+N3aAgKo0 例えば.net 4.7で作られたプログラムを4.5しか入ってないPCで動かすとどうなりますか?
933デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 13:40:36.37ID:zMXPgQ7i0 うごかない
934デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 13:41:03.95ID:zMXPgQ7i0 てか4.5とかサポート切れだから論外だし
935デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/04(日) 13:48:00.41ID:HudK1GnQ0 >ユーザー共通になっちゃうけど、スコープをユーザーからアプリケーションに変更すればexeと同じディレクトリに保存するよ
アプリケーションじゃ動かんかったな。動くこともあるんだろうな。意味がわらかんし、マニュアル読んでも書いてないし
それにビルドで設定値が消えるから、、、最初から打ち直し。w
こんな意味の解らん機能はつかわない方がいい。JSON.NET使った方が遥かに楽。というのが俺の感想だ。
アプリケーションじゃ動かんかったな。動くこともあるんだろうな。意味がわらかんし、マニュアル読んでも書いてないし
それにビルドで設定値が消えるから、、、最初から打ち直し。w
こんな意味の解らん機能はつかわない方がいい。JSON.NET使った方が遥かに楽。というのが俺の感想だ。
936デフォルトの名無しさん (ワッチョイ bf7f-qlLX)
2018/02/04(日) 14:04:22.94ID:CmrmETVT0937デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/04(日) 14:13:13.77ID:HudK1GnQ0 public static void RemoveChildren(this Control control, Func<Control, bool> predicate)
{
var controls = control.Controls;
controls.Cast<Control>().Where(predicate).ToList().ForEach(x => controls.Remove(x));
}
これは非常にスマートだという感じだが意味わからんなー。
predicate: 対象となるコントロールの場合はTrueを返す関数?
ToList() :predicateで判定したコントロールのListを作る。
ForEach:ToListからひとつづつコントロールをとりだしてxにセット、Removeする。
という意味だろうか?
Funcって初めて見た。いま調べてみるとよく使う標準デリゲートらしい。であれば
controls.Cast<Control>().Where(ラムダ式).ToList().ForEach(x => controls.Remove(x));
で一行でできる筈だな。
つまり
controls.Cast<Control>().Where(x=>x is GroupBox).ToList().ForEach(x => controls.Remove(x));
で実験してみると
tabPage1.Controls.Cast<Control>().Where(c => c is GroupBox).ToList().ForEach(x => tabPage1.Controls.Remove(x));
わーいうまく行ったぞ。
{
var controls = control.Controls;
controls.Cast<Control>().Where(predicate).ToList().ForEach(x => controls.Remove(x));
}
これは非常にスマートだという感じだが意味わからんなー。
predicate: 対象となるコントロールの場合はTrueを返す関数?
ToList() :predicateで判定したコントロールのListを作る。
ForEach:ToListからひとつづつコントロールをとりだしてxにセット、Removeする。
という意味だろうか?
Funcって初めて見た。いま調べてみるとよく使う標準デリゲートらしい。であれば
controls.Cast<Control>().Where(ラムダ式).ToList().ForEach(x => controls.Remove(x));
で一行でできる筈だな。
つまり
controls.Cast<Control>().Where(x=>x is GroupBox).ToList().ForEach(x => controls.Remove(x));
で実験してみると
tabPage1.Controls.Cast<Control>().Where(c => c is GroupBox).ToList().ForEach(x => tabPage1.Controls.Remove(x));
わーいうまく行ったぞ。
938デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/04(日) 14:22:22.77ID:2sg7PnbOM 日記はちらしのうらにでm…
939デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 14:22:36.96ID:zMXPgQ7i0940デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/04(日) 14:24:43.87ID:HudK1GnQ0 Castを無くすために
tabPage1.Controls.OfType<GroupBox>().ToList().ForEach(x => tabPage1.Controls.Remove(x));
これでも動くのに、
tabPage1.Controls.OfType<GroupBox>().ForEach(x => tabPage1.Controls.Remove(x));
これは動かないのはなぜ?
tabPage1.Controls.OfType<GroupBox>().ToList().ForEach(x => tabPage1.Controls.Remove(x));
これでも動くのに、
tabPage1.Controls.OfType<GroupBox>().ForEach(x => tabPage1.Controls.Remove(x));
これは動かないのはなぜ?
941デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/04(日) 14:26:44.56ID:2sg7PnbOM 実装してないものが使えるわけないだろ
魔法じゃないから
魔法じゃないから
942デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/04(日) 14:30:00.97ID:2sg7PnbOM そもそも列挙してる最中のものを削ると列挙に失敗する可能性が高い
最初から何番目の要素を取り出す
次はそれプラス1の要素としてるのに
1番目から消すと何番目というのがずれるだろ?
一番目を取り出すそれを消す
○×▼
↓
×▼
二番目を取り出すそれを消す
×▼
↓
×
三番目は取り出せない
最初から何番目の要素を取り出す
次はそれプラス1の要素としてるのに
1番目から消すと何番目というのがずれるだろ?
一番目を取り出すそれを消す
○×▼
↓
×▼
二番目を取り出すそれを消す
×▼
↓
×
三番目は取り出せない
943デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/04(日) 14:31:09.88ID:2sg7PnbOM ずっと一番目を消すと全部消える
944デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/04(日) 14:34:48.14ID:2sg7PnbOM ToList()で控えを作る
できたList ○×▼ をみて対象を消していく
こちらは消し終わってList内容はそのまま
できたList ○×▼ をみて対象を消していく
こちらは消し終わってList内容はそのまま
945デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/04(日) 14:35:11.95ID:HudK1GnQ0 >>941
いやまあそうなんだが、疑問というのは
var grps = tabPage1.Controls.OfType<GroupBox>();
varじゃわからないのだが、この型は何なの? Listじゃないよね。
いやまあそうなんだが、疑問というのは
var grps = tabPage1.Controls.OfType<GroupBox>();
varじゃわからないのだが、この型は何なの? Listじゃないよね。
946デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/04(日) 14:36:12.24ID:2sg7PnbOM947デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 14:36:23.56ID:zMXPgQ7i0 >>945
メモ帳で開発してんの?
メモ帳で開発してんの?
948デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/04(日) 14:37:00.62ID:2sg7PnbOM 可能性が高いと書いたのは列挙の方法がちがうかもしれないから
949デフォルトの名無しさん (ワッチョイ ffc9-wbgk)
2018/02/04(日) 14:37:31.37ID:qZv4HzKZ0 >>945
Enumerable.OfType<TResult> メソッド
https://msdn.microsoft.com/ja-jp/library/bb360913(v=vs.110).aspx
Enumerable.OfType<TResult> メソッド
https://msdn.microsoft.com/ja-jp/library/bb360913(v=vs.110).aspx
950デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/04(日) 14:38:10.32ID:2sg7PnbOM ここは個別指導スレじゃないだろ
いい加減にわきまえろ
質問じゃなくて誰かに教えてもらいたいなら金を払って個人指導受けろ
いい加減にわきまえろ
質問じゃなくて誰かに教えてもらいたいなら金を払って個人指導受けろ
951デフォルトの名無しさん (ワッチョイ ffc9-wbgk)
2018/02/04(日) 14:41:30.60ID:qZv4HzKZ0 IEnumerableやyield returnの動作知らずにLINQ使うのって怖くないのかな
952デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 14:41:58.66ID:zMXPgQ7i0 >>949
相変わらずひどい翻訳やな
相変わらずひどい翻訳やな
953デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/04(日) 14:50:13.12ID:HudK1GnQ0 var grps = tabPage1.Controls.OfType<GroupBox>();
var ggg = tabPage1.Controls.OfType<GroupBox>().ToList();
IDEでみるとgrpsは
{system.Linq.Enumerable.OfTypeIterater<GroupBox>}
gggは
count=10
と出る。
var ggg = tabPage1.Controls.OfType<GroupBox>().ToList();
IDEでみるとgrpsは
{system.Linq.Enumerable.OfTypeIterater<GroupBox>}
gggは
count=10
と出る。
954デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 14:53:40.22ID:zMXPgQ7i0 わろた
955デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/04(日) 14:53:56.98ID:HudK1GnQ0 >IEnumerableやyield returnの動作知らずにLINQ使うのって怖くないのかな
何故怖いの?
IEnumerableとEnumerableの違いを端的に説明すると、どういうこと?
何故怖いの?
IEnumerableとEnumerableの違いを端的に説明すると、どういうこと?
956デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/04(日) 14:55:56.43ID:2sg7PnbOM キーワードがわかってるなら聞かないで自分で勉強したらいいのに
勉強したり努力してわからないならここで聞けばいい
勉強したり努力してわからないならここで聞けばいい
957デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/04(日) 14:59:19.86ID:HudK1GnQ0 Enumerable.OfType <GroupBox > grps = tabPage1.Controls.OfType<GroupBox>();
これはできないよ。エラーになる。
List<GroupBox > ggg = tabPage1.Controls.OfType<GroupBox>().ToList();
これはOK
これはできないよ。エラーになる。
List<GroupBox > ggg = tabPage1.Controls.OfType<GroupBox>().ToList();
これはOK
958デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/04(日) 15:01:43.20ID:HudK1GnQ0 >Enumerable.OfType<TResult> メソッド
あっと見落としてた、型じゃないのか。メッソドか。
あっと見落としてた、型じゃないのか。メッソドか。
959デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/04(日) 15:01:43.24ID:2sg7PnbOM ダメな初心者=エラー内容を読まないし調べない
960デフォルトの名無しさん (ワッチョイ 9f19-iu0y)
2018/02/04(日) 15:05:12.21ID:+N3aAgKo0961デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/04(日) 15:12:42.24ID:HudK1GnQ0 >例えば.net 4.7で作られたプログラムを4.5しか入ってないPCで動かすとどうなりますか?
4.7が動作しないPCはない(筈だ)から、4.7をダウンロードしたらいいだけだよ。
4.7をシステムに追加すれば問題なしに完璧に動作するよ。
4.7が動作しないPCはない(筈だ)から、4.7をダウンロードしたらいいだけだよ。
4.7をシステムに追加すれば問題なしに完璧に動作するよ。
962デフォルトの名無しさん (ワッチョイ bf7f-qlLX)
2018/02/04(日) 15:17:08.79ID:CmrmETVT0 >>960
クライアントがターゲットフレームワーク未満の場合は、起動時にエラーダイアログが出て終了する。
その内容だったら、ターゲットフレームワークを4.5に変更すれば良いのでは。
厳密には、4.5はサポート切れてるから、4.5.2に設定した方が良いと思うけど。
クライアントがターゲットフレームワーク未満の場合は、起動時にエラーダイアログが出て終了する。
その内容だったら、ターゲットフレームワークを4.5に変更すれば良いのでは。
厳密には、4.5はサポート切れてるから、4.5.2に設定した方が良いと思うけど。
963デフォルトの名無しさん (ワッチョイ 979a-it6M)
2018/02/04(日) 15:18:11.54ID:UjaEvCGn0 ワッチョイ 179d にもう触んな
964デフォルトの名無しさん (ワッチョイ ff81-CU+w)
2018/02/04(日) 15:43:41.74ID:ldOBh/kr0 魚類に釣り絵に噛みつくなと説いてもムダムダ
965デフォルトの名無しさん (ワッチョイ 9f19-iu0y)
2018/02/04(日) 15:55:30.93ID:+N3aAgKo0 >>961,962
よく分かりました。ありがとうございます
よく分かりました。ありがとうございます
966デフォルトの名無しさん (ササクッテロロ Spcb-+6kC)
2018/02/04(日) 16:06:41.70ID:hG+oZ081p なんとなくpublicならプロパティ
privateならフィールドにするように
しているんだが
public なフィールドやprivateなプロパティって使うことある?
privateならフィールドにするように
しているんだが
public なフィールドやprivateなプロパティって使うことある?
967デフォルトの名無しさん (ワッチョイ 9fb3-mP5N)
2018/02/04(日) 16:06:43.52ID:88eIJAAv0968デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/04(日) 16:11:21.66ID:nSH8cPbn0 そもそもこんな疑問でちゃう時点で機能としての出来が良くないんだから
使わない俺の大勝利
使わない俺の大勝利
969デフォルトの名無しさん (ワッチョイ ff81-CU+w)
2018/02/04(日) 16:12:24.36ID:ldOBh/kr0 頭の出来がよくないの人のせいにするとは
970デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/04(日) 16:12:44.65ID:vxeWu10H0 >>930
スコープがアプリケーションだと書き込みができない様で、書き込みのできる方法はありますでしょうか?
アプリケーションでいじった値をアプリケーションのあるフォルダなどに保存する方法が知りたいです
visualstudioで生成したDebugフォルダをコピーするだけで同じ設定のものがコピー出来る様になりたいです
スコープがアプリケーションだと書き込みができない様で、書き込みのできる方法はありますでしょうか?
アプリケーションでいじった値をアプリケーションのあるフォルダなどに保存する方法が知りたいです
visualstudioで生成したDebugフォルダをコピーするだけで同じ設定のものがコピー出来る様になりたいです
971デフォルトの名無しさん (ワッチョイ bf9e-QBDq)
2018/02/04(日) 16:19:07.58ID:YE7Mv6Fc0 >>824
そんなレベルの疑問を自力で解決出来ないのに独自言語なんて作れるのか?
そんなレベルの疑問を自力で解決出来ないのに独自言語なんて作れるのか?
972デフォルトの名無しさん (スッップ Sdbf-uiFW)
2018/02/04(日) 16:22:45.65ID:s5exZTb6d >>968
使ってることに気づいてないアホがこれ
使ってることに気づいてないアホがこれ
973デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/04(日) 16:27:27.66ID:iJJ2KKb9a974デフォルトの名無しさん (スッップ Sdbf-uiFW)
2018/02/04(日) 16:32:40.51ID:0pkor+t3d >>973
嘘まみれ
嘘まみれ
975デフォルトの名無しさん (ワッチョイ 9f06-wbgk)
2018/02/04(日) 16:43:23.86ID:RXHjrV0B0 >>970
つ ふっかつのじゅもん
つ ふっかつのじゅもん
976デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/04(日) 17:11:47.67ID:lnA8IzXNa .netの前はアプリなどがシステムフォルダににDLLを入れていた
それでアンインストールなどを繰り返すとどれがどれに依存しているかわからなくなった
これをDLLヘルという
これを教訓にしてアプリではdll依存を極力避け
アプリの配布はビルドしたものを適当な場所にxcopyしただけで可能なように設計された
それでアンインストールなどを繰り返すとどれがどれに依存しているかわからなくなった
これをDLLヘルという
これを教訓にしてアプリではdll依存を極力避け
アプリの配布はビルドしたものを適当な場所にxcopyしただけで可能なように設計された
977デフォルトの名無しさん (ワッチョイ 17e6-CU+w)
2018/02/04(日) 18:11:17.96ID:IdDneOZ60 ApplicationSettingsみたいなゴミを使うの止めればいいんじゃないの
何でこだわってるの?
ApplicationSettingにこだわらなければ10分で済む話だよね?
なんで半日も一日も掛けてるの?
不死身で時間が無限にあるの?
無職で時間が余ってるの?
休日ぼっちで暇なの?
ねえなんで?
何でこだわってるの?
ApplicationSettingにこだわらなければ10分で済む話だよね?
なんで半日も一日も掛けてるの?
不死身で時間が無限にあるの?
無職で時間が余ってるの?
休日ぼっちで暇なの?
ねえなんで?
978デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/04(日) 18:13:05.97ID:vxeWu10H0 無職です申し訳ありません
979デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/04(日) 18:13:56.88ID:b12ucEdla そもそもアプリケーション設定の解説なんていくらでもweb上に存在するのに
どうしてまずそれらを読まずに最初からできもしないことをできるはずだと思い込んでるのか、
そこが不思議。
どうしてまずそれらを読まずに最初からできもしないことをできるはずだと思い込んでるのか、
そこが不思議。
980デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/04(日) 18:17:04.23ID:vxeWu10H0 アプリケーション設定には特にこだわりはありません
保存さえ出来れば構いません
出直してきます
申し訳ないです
保存さえ出来れば構いません
出直してきます
申し訳ないです
981デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/04(日) 18:17:36.06ID:nSH8cPbn0 オススメはCSVファイルの保存で
982デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 18:31:08.74ID:zMXPgQ7i0 >>981
キチガイ
キチガイ
983愛恥人
2018/02/04(日) 18:49:17.79 >>935
バインド出来ないじゃん(>_<)
バインド出来ないじゃん(>_<)
984デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/04(日) 18:50:28.24ID:nSH8cPbn0 >>982
エクセルで編集できて便利じゃん
エクセルで編集できて便利じゃん
985デフォルトの名無しさん (ワッチョイ ff9a-HmOu)
2018/02/04(日) 18:50:55.56ID:YkvE7FF30 >>980
自分で貼ったリンクに保存場所書いてあるし
プロジェクト名がHogeのとき
C:\Users\{User名}\AppData\Local\Hoge\...\1.0.0.0\user.config
でProperties.Settings.Defaultって書いてあるんだからググったら
パスの取得の仕方は
https://dobon.net/vb/dotnet/programing/mysettings.html
に書いてある
このパスを必要な場所にコピーしたらいいだけ
俺の場合はこれの使い方を把握できなかったんで自分でパーサー書いた方が早かったなw
自分で貼ったリンクに保存場所書いてあるし
プロジェクト名がHogeのとき
C:\Users\{User名}\AppData\Local\Hoge\...\1.0.0.0\user.config
でProperties.Settings.Defaultって書いてあるんだからググったら
パスの取得の仕方は
https://dobon.net/vb/dotnet/programing/mysettings.html
に書いてある
このパスを必要な場所にコピーしたらいいだけ
俺の場合はこれの使い方を把握できなかったんで自分でパーサー書いた方が早かったなw
986デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/04(日) 19:03:57.70ID:vxeWu10H0987デフォルトの名無しさん (ワッチョイ 9f06-wbgk)
2018/02/04(日) 19:34:44.52ID:RXHjrV0B0 >>986
最近の流行りだと、設定を捨ててjson.netってやつで管理する
上記のそれはクラスオブジェクトをテキストにする(シリアライズと言う)ソフトなので
コレを普通のテキストファイルとして読み書きするだけです
最近の流行りだと、設定を捨ててjson.netってやつで管理する
上記のそれはクラスオブジェクトをテキストにする(シリアライズと言う)ソフトなので
コレを普通のテキストファイルとして読み書きするだけです
988デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/04(日) 19:45:17.78ID:nSH8cPbn0989デフォルトの名無しさん (スッップ Sdbf-uiFW)
2018/02/04(日) 20:09:49.43ID:fm2Gs9xAd >>984
Excelでの編集が必要なほどデータが大量ならDB使えよ
Excelでの編集が必要なほどデータが大量ならDB使えよ
990デフォルトの名無しさん (スッップ Sdbf-uiFW)
2018/02/04(日) 20:10:29.46ID:fm2Gs9xAd >>987
お前もなんか勘違いしてんぞ
お前もなんか勘違いしてんぞ
991デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 20:11:34.16ID:zMXPgQ7i0 >>988
JSON.NET知らないのはさすがにモグリやろwww
JSON.NET知らないのはさすがにモグリやろwww
992デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/04(日) 20:18:09.97ID:rXp7+rpAa >>986
一番簡単なのは、永続化(保存)したい情報だけをまとめたクラスを作って
シリアル化/逆シリアル化する方法。
シリアル化/逆シリアル化のための機能は.NETの標準ライブラリにも用意されてるので
わざわざサードパーティーのを使うことない
しかし、意地悪なのかマジなのか知らんけど、
なんか人を惑わすようなこと書く人ばっかりで質問者も大変だなw
一番簡単なのは、永続化(保存)したい情報だけをまとめたクラスを作って
シリアル化/逆シリアル化する方法。
シリアル化/逆シリアル化のための機能は.NETの標準ライブラリにも用意されてるので
わざわざサードパーティーのを使うことない
しかし、意地悪なのかマジなのか知らんけど、
なんか人を惑わすようなこと書く人ばっかりで質問者も大変だなw
993デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 20:19:44.54ID:zMXPgQ7i0 >>992
普通にappsettings.json使えばいいのにね
普通にappsettings.json使えばいいのにね
994デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/04(日) 21:44:52.13ID:nSH8cPbn0995デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/04(日) 21:48:45.96ID:HudK1GnQ0 CSV:一般的でシンプルで扱いやすい。
INIファイル:以前の標準、いまでも使えるがCOMオブジェクトロードする必要がある。フォーマットは直観的で使いやすい。
Json:上記に比べると、オブジェクトをそのまま保存可能というメリットがある。フォーマットは上記よりわかり難いが特に問題はない。
XML:汎用性があるが、直観的なフォーマットではないのでわかり難い。普通はこんなものをたいそうに使う必要はない。
などがあって、基本はCSVが標準だろうと思う。しかしクラスをそのまま保存するような場合はjsonがおすすめだ。例えば
カラーコードやフォントを保存する場合にはCSVだと、いちいちテキストなどに変換する必要があるが、jsonのシリアライズを
使えば何にも考えずに保存できる。MSもJnonのIFを用意しているが、Json.netの方が優れているのでそちらの方を使った方がいい。
INIファイル:以前の標準、いまでも使えるがCOMオブジェクトロードする必要がある。フォーマットは直観的で使いやすい。
Json:上記に比べると、オブジェクトをそのまま保存可能というメリットがある。フォーマットは上記よりわかり難いが特に問題はない。
XML:汎用性があるが、直観的なフォーマットではないのでわかり難い。普通はこんなものをたいそうに使う必要はない。
などがあって、基本はCSVが標準だろうと思う。しかしクラスをそのまま保存するような場合はjsonがおすすめだ。例えば
カラーコードやフォントを保存する場合にはCSVだと、いちいちテキストなどに変換する必要があるが、jsonのシリアライズを
使えば何にも考えずに保存できる。MSもJnonのIFを用意しているが、Json.netの方が優れているのでそちらの方を使った方がいい。
996デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/04(日) 21:53:43.05ID:nSH8cPbn0997デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 21:54:18.80ID:zMXPgQ7i0 >>994
Microsoft自身もJSON.NETを製品に使ってる(.NET Core CLIとか)
Microsoft自身もJSON.NETを製品に使ってる(.NET Core CLIとか)
998デフォルトの名無しさん (スプッッ Sd3f-uiFW)
2018/02/04(日) 21:55:08.37ID:FsQDUxLEd >>996
お前が信用してなくてもMicrosoftは信用してる
お前が信用してなくてもMicrosoftは信用してる
999デフォルトの名無しさん (スップ Sd3f-uiFW)
2018/02/04(日) 21:56:36.47ID:l4jEutiZd >>996
はいキチガイ
はいキチガイ
1000デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)
2018/02/04(日) 21:57:51.63ID:zMXPgQ7i0 >>996
お前の信用なんか誰も求めてない
お前の信用なんか誰も求めてない
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 67日 2時間 33分 53秒
新しいスレッドを立ててください。
life time: 67日 2時間 33分 53秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 高市政権「中国さん、日本はいつでも対話に応じるで」 [834922174]
- 吉村はん「高市さんは発言を撤回する必要ないですよ。中国の大阪総領事が謝罪すべき」 [256556981]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 【悲報】青森県、今日だけで60cm雪が積もってとうとう100cm越えてしまうwwwww
- 東浩紀「日本はいままさに駆け引きをしている。」高市有事にピシャリ [834922174]
