!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part150
https://mevius.5ch.net/test/read.cgi/tech/1616471904/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part151
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f2c-S5yT)
2021/05/16(日) 10:45:59.00ID:8qTwOc620291デフォルトの名無しさん (ワッチョイ cf63-N/EE)
2021/06/11(金) 03:39:29.02ID:SAQrE1k60 つかなんで使いどころがないと進めないんだ?
学校の勉強でいちいち使いどころとか考えてたか?
学校の勉強でいちいち使いどころとか考えてたか?
292デフォルトの名無しさん (ワッチョイ f3de-xoS4)
2021/06/11(金) 07:17:53.54ID:oCvSjx8Y0 getsetなんか俺はゴミだと思う
293デフォルトの名無しさん (スップ Sd1f-ewEI)
2021/06/11(金) 09:38:54.03ID:Pc6dU7Wud get setは構造化の基本
データの塊はこーゆー設計がいいよねって話
データの塊なので、利用、登録は意識しない
(なるべく他に依存しない)
ただ、オブジェクト指向だからって、車のネジ一本から作るのは間違い
そのアプリが目的としている形のオブジェクトでいい
トラックなのか乗用車なのか、とか、車なのか電車なのか
データの塊はこーゆー設計がいいよねって話
データの塊なので、利用、登録は意識しない
(なるべく他に依存しない)
ただ、オブジェクト指向だからって、車のネジ一本から作るのは間違い
そのアプリが目的としている形のオブジェクトでいい
トラックなのか乗用車なのか、とか、車なのか電車なのか
294デフォルトの名無しさん (ラクッペペ MM7f-WFTr)
2021/06/11(金) 10:22:39.64ID:N5qPgvwKM ×構造化
〇カプセル化(情報隠蔽)
〇カプセル化(情報隠蔽)
295デフォルトの名無しさん (スップ Sd1f-ewEI)
2021/06/11(金) 10:48:58.40ID:Pc6dU7Wud すまんね。
ただ「プログラムの構造・設計」って意味で言ったので間違ってないよ
(俺自身は隠蔽する意味を見出していない、日本語訳が間違ってるだけ?)
ちなみに、質問者のプログラムだと、登録と利用が同時に行われてるので、get setの意味は全く無い
意味ないと思うのは当然
ただ「プログラムの構造・設計」って意味で言ったので間違ってないよ
(俺自身は隠蔽する意味を見出していない、日本語訳が間違ってるだけ?)
ちなみに、質問者のプログラムだと、登録と利用が同時に行われてるので、get setの意味は全く無い
意味ないと思うのは当然
296デフォルトの名無しさん (アウアウウー Sa67-gVNt)
2021/06/11(金) 12:12:38.48ID:WhHgYbh2a 訳分からん俺様用語を使っている時点で本当は自分で何も調べてもいなければ
他人とコミュニケーションする意思もないことは明白。
getsetの壁って何やねんw
他人とコミュニケーションする意思もないことは明白。
getsetの壁って何やねんw
297デフォルトの名無しさん (ワッチョイ ff01-EoJ9)
2021/06/11(金) 12:36:14.35ID:9brEePq50298デフォルトの名無しさん (アウアウクー MM87-IdmB)
2021/06/11(金) 12:57:23.03ID:/Ldzrd4UM >>288
社員番号、入社年度、年齢、性別とか沢山の項目があるなら構造化する
ひとつならたいして意味ない。ただし項目によってはValueObjectにしたほうがいいかもしれない。
で、入社年度から在籍年数をクラス内で計算してgetできるようにするとか。そういったロジックをクラスに用意する。
ただこういうクラスの場合はsetを使うより
コンストラクタで渡すほうがよい。
で、get; private set;
にする
社員番号、入社年度、年齢、性別とか沢山の項目があるなら構造化する
ひとつならたいして意味ない。ただし項目によってはValueObjectにしたほうがいいかもしれない。
で、入社年度から在籍年数をクラス内で計算してgetできるようにするとか。そういったロジックをクラスに用意する。
ただこういうクラスの場合はsetを使うより
コンストラクタで渡すほうがよい。
で、get; private set;
にする
299デフォルトの名無しさん (ワッチョイ bf2d-42hD)
2021/06/11(金) 13:05:02.82ID:FNOyhnqL0 >>298
今はコンストラクタで初期化するならprivate setは不要
今はコンストラクタで初期化するならprivate setは不要
300デフォルトの名無しさん (スップ Sd1f-ewEI)
2021/06/11(金) 14:47:45.55ID:Pc6dU7Wud わかったよ
入門者はget setに注目してるから、訳がわからなくなるんだな
大事な方は、データの塊の持ち方であって、取り方入れ方は副産物
本来はgetって書いてあるから取ってるんだねって一発でわかる様になってたが、今は書かない様になったから、getメソッドのメリットが薄くなってる
入門者はget setに注目してるから、訳がわからなくなるんだな
大事な方は、データの塊の持ち方であって、取り方入れ方は副産物
本来はgetって書いてあるから取ってるんだねって一発でわかる様になってたが、今は書かない様になったから、getメソッドのメリットが薄くなってる
301デフォルトの名無しさん (ワッチョイ ff01-NdOG)
2021/06/11(金) 14:55:57.07ID:gX7+uLUh0 >>288
「GetSetの壁」より先に
「公式リファレンスの壁」を越えるといいよ
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/using-properties
「GetSetの壁」より先に
「公式リファレンスの壁」を越えるといいよ
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/using-properties
302デフォルトの名無しさん (ワッチョイ ff2f-JlJp)
2021/06/11(金) 15:00:19.14ID:hChWWabk0 根本的な疑問は
プロパティじゃなくて(公開)フィールドで良いんじゃないか、ってことじゃないのかね
プロパティじゃなくて(公開)フィールドで良いんじゃないか、ってことじゃないのかね
303デフォルトの名無しさん (アウアウウー Sa67-gVNt)
2021/06/11(金) 16:12:18.68ID:OoWb95ZEa >>302
恐らくその通りだと思うけど、聞いてる方も答えてる方も
コミュニケーション能力が低すぎてなんか滑稽なことになってるねw
そして、これが肝心だけど、そういうことなら普通
こんなところで質問する前に「プロパティ フールド 使い分け」
とかで検索する。
getsetの壁とか訳わからんこと言ってることから分かるように、
この質問者さんは普通の人がまずやることを何もやってない。
恐らくその通りだと思うけど、聞いてる方も答えてる方も
コミュニケーション能力が低すぎてなんか滑稽なことになってるねw
そして、これが肝心だけど、そういうことなら普通
こんなところで質問する前に「プロパティ フールド 使い分け」
とかで検索する。
getsetの壁とか訳わからんこと言ってることから分かるように、
この質問者さんは普通の人がまずやることを何もやってない。
304デフォルトの名無しさん (ワッチョイ cf63-N/EE)
2021/06/11(金) 18:01:38.21ID:SAQrE1k60 コミュニケーションの壁を感じますね(適当)
305デフォルトの名無しさん (スップ Sd1f-ewEI)
2021/06/11(金) 18:06:02.90ID:snOiqcmLd 俺がコミュ症とはひどいなぁ(文才が無いだけ)
人生口先だけで生きてきたよ
それは置いといて
質問者は「Mainの中にint p=32」と言ってる時点で、データ外出しに気づいてないなと思ったよ
人生口先だけで生きてきたよ
それは置いといて
質問者は「Mainの中にint p=32」と言ってる時点で、データ外出しに気づいてないなと思ったよ
306デフォルトの名無しさん (ワッチョイ 63da-0JFK)
2021/06/11(金) 19:22:00.59ID:+sJHqm0v0 >>288
この例ではpを表示してるのは確認の為で主目的ではないね
プロパティはクラスのフィールドみたいな物
フィールドはクラスの変数で、寿命はクラスを作ってから破棄まで
例えば、個人情報のクラスなら住所や電話番号がフィールド
いくつかの理由でフィールドに直接アクセスするのは良くないとされている
つまり
✕personal.phone=09012345678とかnum=personal.phone
○personal.SetPhone(09012345678)やnum=personal.GetPhone()
でも下の表記はクラス側にSetxxx/Getxxxを書かなくてはならず詰まらないコード量が増える
そこでC#は呼出側は上の記述が使え、クラス内では最低限のコード量で書くプロパティが考案された
この例ではpを表示してるのは確認の為で主目的ではないね
プロパティはクラスのフィールドみたいな物
フィールドはクラスの変数で、寿命はクラスを作ってから破棄まで
例えば、個人情報のクラスなら住所や電話番号がフィールド
いくつかの理由でフィールドに直接アクセスするのは良くないとされている
つまり
✕personal.phone=09012345678とかnum=personal.phone
○personal.SetPhone(09012345678)やnum=personal.GetPhone()
でも下の表記はクラス側にSetxxx/Getxxxを書かなくてはならず詰まらないコード量が増える
そこでC#は呼出側は上の記述が使え、クラス内では最低限のコード量で書くプロパティが考案された
307デフォルトの名無しさん (スププ Sd1f-+vzQ)
2021/06/11(金) 19:52:45.88ID:95OnglC4d 以前は{ get; set; }って記述は出来なかったよね。
必ずprivateの保存先に読み書きしたり、なんかロジックとか固定値で値を返したり。
さらにラムダ式とか多様な定義が出来るようになったから、着いていけない人も居るのかも。
自分も自信ない。無駄な書き方してないだろうかと。
必ずprivateの保存先に読み書きしたり、なんかロジックとか固定値で値を返したり。
さらにラムダ式とか多様な定義が出来るようになったから、着いていけない人も居るのかも。
自分も自信ない。無駄な書き方してないだろうかと。
308デフォルトの名無しさん (ワッチョイ 632f-JlJp)
2021/06/11(金) 20:13:06.43ID:rguC8k2o0 ここは
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」
だからな
>>288は、まずプロパティという概念を理解できているのか?
そしてそれがC#ではどのように実装されるのかを理解できているのか?
(今のC#のプロパティにはいろんな書き方ができるのでわかりにくい)
その上でフィールドとの使い分けなら
クラスの外部に公開するものはプロパティにする
単純に値を格納するだけのもの以外はプロパティにする
が基本方針だと思えばいい
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」
だからな
>>288は、まずプロパティという概念を理解できているのか?
そしてそれがC#ではどのように実装されるのかを理解できているのか?
(今のC#のプロパティにはいろんな書き方ができるのでわかりにくい)
その上でフィールドとの使い分けなら
クラスの外部に公開するものはプロパティにする
単純に値を格納するだけのもの以外はプロパティにする
が基本方針だと思えばいい
309デフォルトの名無しさん (ワッチョイ 73b0-t88l)
2021/06/11(金) 20:37:00.28ID:fG/j16u90 アルゴリズム云々じゃなくてとりあえずコーディングの練習したいときの手軽な問題って何があるかな?
今は競技プログラミングの簡単な問題を最近の記法使いつつ解いてるのだが他に何かあれば知りたいです
今は競技プログラミングの簡単な問題を最近の記法使いつつ解いてるのだが他に何かあれば知りたいです
310デフォルトの名無しさん (ワッチョイ 6333-ewEI)
2021/06/12(土) 00:34:16.72ID:5WmNz19V0 >>309
テトリスでいい
テトリスでいい
311デフォルトの名無しさん (ワッチョイ cfa7-xoS4)
2021/06/14(月) 11:10:57.15ID:pnoKn6oo0 Debugger.Breakメソッドってリリースビルドで落ちますか?
312デフォルトの名無しさん (ワッチョイ cfa7-xoS4)
2021/06/14(月) 11:30:41.88ID:pnoKn6oo0 とりあえず
Debugger.isAttachedで解決しました
Debugger.isAttachedで解決しました
313デフォルトの名無しさん (ワッチョイ ff05-W6T4)
2021/06/14(月) 20:09:02.57ID:BmiJqBp+0 株価チャートは作れますか?
314デフォルトの名無しさん (ブーイモ MMff-rmNT)
2021/06/14(月) 20:10:32.46ID:mg3Aqqn/M 作れるけど自分で使う用ならPythonの方がいいよ
315デフォルトの名無しさん (ワッチョイ e324-n7fE)
2021/06/14(月) 23:03:12.79ID:JUMQWHQ70 Python遅くない?
316デフォルトの名無しさん (ワッチョイ cf63-ncc4)
2021/06/15(火) 02:51:49.51ID:sfSEzJaG0 完成するまでの時間を考慮すればペイするよ
初心者がC#で完成させるのは不可能だから、速度はゼロだ
初心者がC#で完成させるのは不可能だから、速度はゼロだ
317デフォルトの名無しさん (スププ Sd1f-+vzQ)
2021/06/15(火) 06:00:09.68ID:KK4WQfQVd Pythonとjupyter notebookですぐに欲しい結果が出せるのが良いよね。
実効速度で比較する意味はないってことか。
実効速度で比較する意味はないってことか。
319デフォルトの名無しさん (テテンテンテン MM7f-rmNT)
2021/06/15(火) 09:42:34.43ID:7x06OJH8M そもそもグラフィカルなアプリは人間の知覚や操作がボトルネックになるので、単純なコードの実行速度にはあまり意味がない
320デフォルトの名無しさん (ワッチョイ cf68-8mgH)
2021/06/15(火) 22:28:24.77ID:YIKkkAYj0 アプリの設定情報の保存がイマイチよくわかってない自分。
321デフォルトの名無しさん (ワッチョイ bfbd-gv+s)
2021/06/15(火) 23:06:30.86ID:vcMBupBl0 <ブックリスト>
<アイテム id="11">
<タイトル>XML</タイトル>
<筆者>鈴木</筆者>
<カテゴリ>1</カテゴリ>
</アイテム>
<アイテム id="22">
<タイトル>WORD</タイトル>
<筆者>田中</筆者>
<カテゴリ>2</カテゴリ>
</アイテム>
</ブックリスト>
こんなxmlをID指定で読みたい。ID 22ならば、WORD、田中、2が得られるように。
調べると下のようなものが出てきました。指定で読み込みたいのでforeachでなく読んだ結果を直に欲しいです。(foreachの中身のような)
IEnumerable<XElement> infos = from item in xml.Elements("??") select item;
foreach (XElement info in infos){
info.Element("タイトル")
info.Element("カテゴリ)
}
指定で読むにはどうしたら良いですか?
<アイテム id="11">
<タイトル>XML</タイトル>
<筆者>鈴木</筆者>
<カテゴリ>1</カテゴリ>
</アイテム>
<アイテム id="22">
<タイトル>WORD</タイトル>
<筆者>田中</筆者>
<カテゴリ>2</カテゴリ>
</アイテム>
</ブックリスト>
こんなxmlをID指定で読みたい。ID 22ならば、WORD、田中、2が得られるように。
調べると下のようなものが出てきました。指定で読み込みたいのでforeachでなく読んだ結果を直に欲しいです。(foreachの中身のような)
IEnumerable<XElement> infos = from item in xml.Elements("??") select item;
foreach (XElement info in infos){
info.Element("タイトル")
info.Element("カテゴリ)
}
指定で読むにはどうしたら良いですか?
322デフォルトの名無しさん (ワッチョイ cf63-ncc4)
2021/06/16(水) 00:27:44.40ID:/wNWjCZd0 findByIdはないです
なんで無いのかは知らないです
実用性を無視した意味不明なこだわりを持ってるライブラリ設計者っていますけど、たぶんその類だと思いますね
別の言語ですがElementTreeの設計に関しても似たような後継を見ましたね
XMLは変な設計者を引きつけるのかも知れない
なんで無いのかは知らないです
実用性を無視した意味不明なこだわりを持ってるライブラリ設計者っていますけど、たぶんその類だと思いますね
別の言語ですがElementTreeの設計に関しても似たような後継を見ましたね
XMLは変な設計者を引きつけるのかも知れない
323デフォルトの名無しさん (ワッチョイ ffe6-U+vn)
2021/06/16(水) 00:34:43.94ID:5mM/xZpb0 XPathで一発じゃんか
Linqはコレクション向けの機能だからな
Linqはコレクション向けの機能だからな
324デフォルトの名無しさん (ワッチョイ cfa7-xoS4)
2021/06/16(水) 01:16:30.17ID:jt20Rl6v0325デフォルトの名無しさん (アウウィフ FF67-U3V2)
2021/06/16(水) 17:36:15.53ID:uJQ6HHCXF >>321
bs = BeautifulSoup(xml, features='lxml')
for item in bs.find(id='22'):
if type(item) != bs4.element.NavigableString:
print(item.text)
bs = BeautifulSoup(xml, features='lxml')
for item in bs.find(id='22'):
if type(item) != bs4.element.NavigableString:
print(item.text)
326デフォルトの名無しさん (ワッチョイ cf63-ncc4)
2021/06/16(水) 18:57:39.81ID:/wNWjCZd0 bsのfindはリストやシーケンスを返さないよ(Tag or Noneを返す)
よってTypeErrorで動かない
よってTypeErrorで動かない
327デフォルトの名無しさん (ワッチョイ 232c-W6T4)
2021/06/16(水) 21:45:08.91ID:6jJilgqa0 Ruby, Nokogiri では、XML もHTML のように使える。
CSS セレクターも使える
require 'nokogiri'
doc = Nokogiri::XML(<<EOT)
<root><books>
<book id="1">
<title>one</title>
</book>
<book id="2">
<title>two</title>
</book>
</books></root>
EOT
element = doc.at_css( "#2" )
puts element.at( "title" ).content #=> two
CSS セレクターも使える
require 'nokogiri'
doc = Nokogiri::XML(<<EOT)
<root><books>
<book id="1">
<title>one</title>
</book>
<book id="2">
<title>two</title>
</book>
</books></root>
EOT
element = doc.at_css( "#2" )
puts element.at( "title" ).content #=> two
328デフォルトの名無しさん (ワッチョイ 8f67-MHI0)
2021/06/16(水) 23:24:04.21ID:nxmBk19h0 初心者だけどVBAのノリでgosub return使おうとしてコンパイラにエラー出されて悩んだ
goto使えるんならこっちも使えてもいいじゃん
goto使えるんならこっちも使えてもいいじゃん
329デフォルトの名無しさん (ワッチョイ cfbb-khlo)
2021/06/16(水) 23:38:57.75ID:5dGb7KxN0 >>321
var doc = XDocument.Load("BookList.xml");
var item = doc.XPathSelectElement("//booklist/item[@id='22']");
Console.WriteLine(item.Element("title"));
var doc = XDocument.Load("BookList.xml");
var item = doc.XPathSelectElement("//booklist/item[@id='22']");
Console.WriteLine(item.Element("title"));
330デフォルトの名無しさん (アウアウウー Sa67-tjD1)
2021/06/17(木) 00:41:59.71ID:3qVDU9gDa331デフォルトの名無しさん (ワッチョイ 0389-9wAC)
2021/06/17(木) 03:03:58.98ID:ZAUwj7CW0 質問失礼いたします。
0.5秒間隔に、3回連続で2枚の画像を交互に表示させたいのですが、2つ目の画像しか表示されません。
開発環境はVisual Basic Studio、言語はC#です。
プログラムは下記の通りです。
どうぞよろしくお願いいたします。
private void button1_Click(object sender, EventArgs e)
{
Timer timer = new Timer();
timer.Interval = 500;
timer.Start();
int count = 0;
pictureBox1.ImageLocation = @"ファイル名";
pictureBox1.ImageLocation = @"ファイル名";
if (count < 3)
{
count++;
}
else
{
MessageBox.Show("終了");
timer.Stop();
}
0.5秒間隔に、3回連続で2枚の画像を交互に表示させたいのですが、2つ目の画像しか表示されません。
開発環境はVisual Basic Studio、言語はC#です。
プログラムは下記の通りです。
どうぞよろしくお願いいたします。
private void button1_Click(object sender, EventArgs e)
{
Timer timer = new Timer();
timer.Interval = 500;
timer.Start();
int count = 0;
pictureBox1.ImageLocation = @"ファイル名";
pictureBox1.ImageLocation = @"ファイル名";
if (count < 3)
{
count++;
}
else
{
MessageBox.Show("終了");
timer.Stop();
}
332デフォルトの名無しさん (ワッチョイ 6f62-Lkk5)
2021/06/17(木) 05:52:30.68ID:8FKshyx30 >>331
何が悪いとかのレベルじゃない
特定の行でF9でブレークポイントが設定できデバッグ実行を止めることができる
その後F10で一行ずつデバッグ実行を進めることができるから想定している動きになってるか確認することから始めた方がいい
何が悪いとかのレベルじゃない
特定の行でF9でブレークポイントが設定できデバッグ実行を止めることができる
その後F10で一行ずつデバッグ実行を進めることができるから想定している動きになってるか確認することから始めた方がいい
333デフォルトの名無しさん (スププ Sd1f-+vzQ)
2021/06/17(木) 05:54:28.97ID:Y5lXnysMd >>328
特定の処理を呼んで返したいなら、メソッドに切り出せば良いんじゃないのかな。
特定の処理を呼んで返したいなら、メソッドに切り出せば良いんじゃないのかな。
334デフォルトの名無しさん (アウアウウー Sa67-tjD1)
2021/06/17(木) 15:21:46.42ID:WS39elSMa >>331
private bool mIsBusy = false;
private async void StartSlideShow()
{
if (mIsBusy) return;
mIsBusy = true;
var dir = @"C:\Windows\Web\Wallpaper\Theme2";
var names = new[] { "img7.jpg", "img8.jpg", "img7.jpg", "img8.jpg", "img7.jpg", "img8.jpg" };
foreach (var name in names)
{
var path = System.IO.Path.Combine(dir, name);
pictureBox1.ImageLocation = path;
await Task.Delay(500);
}
mIsBusy = false;
}
private bool mIsBusy = false;
private async void StartSlideShow()
{
if (mIsBusy) return;
mIsBusy = true;
var dir = @"C:\Windows\Web\Wallpaper\Theme2";
var names = new[] { "img7.jpg", "img8.jpg", "img7.jpg", "img8.jpg", "img7.jpg", "img8.jpg" };
foreach (var name in names)
{
var path = System.IO.Path.Combine(dir, name);
pictureBox1.ImageLocation = path;
await Task.Delay(500);
}
mIsBusy = false;
}
335デフォルトの名無しさん (ワッチョイ 9342-khlo)
2021/06/17(木) 16:07:14.40ID:tBktLRON0 >>330
いや、寧ろGoSub使わずに一つのサブルーチンにすべてを書くやつがコボラーの亡霊です
いや、寧ろGoSub使わずに一つのサブルーチンにすべてを書くやつがコボラーの亡霊です
336デフォルトの名無しさん (ワッチョイ 03e3-nisE)
2021/06/17(木) 16:09:36.15ID:4w07t7GO0 ローカルメソッドはどうなんだろうね
外出せばいいじゃん派と他で使わないならローカルにしとけよ派で争うのかな
外出せばいいじゃん派と他で使わないならローカルにしとけよ派で争うのかな
337デフォルトの名無しさん (ワッチョイ a3e4-FyPE)
2021/06/17(木) 16:59:01.31ID:ooZzmu2N0338デフォルトの名無しさん (ワッチョイ 0fde-ZikL)
2021/06/17(木) 21:24:02.95ID:gnGFQr/W0 >>334
原型とどめてなくてわろす、でもそうじゃないんだ
原型とどめてなくてわろす、でもそうじゃないんだ
339デフォルトの名無しさん (ワッチョイ f6da-Y04N)
2021/06/18(金) 08:14:42.61ID:CeuVWc4D0 if (mIsBusy)と returnの間にスレッドが割り込まれたら複数動いちゃうんじゃね・・。
340デフォルトの名無しさん (ワッチョイ 3e7c-meyV)
2021/06/18(金) 09:03:58.05ID:kks5fFRD0 StartSlideShowはUIスレッドでしか呼び出されない前提だから問題ないよ
341デフォルトの名無しさん (ワッチョイ 0b01-N7Uk)
2021/06/18(金) 12:12:31.58ID:wj2zORhF0 他人のコードにケチつけずにはいられない、嫌われる人。
342デフォルトの名無しさん (ブーイモ MM67-YCR2)
2021/06/18(金) 13:08:32.73ID:ApjvrmIoM VisualStudioスレで質問しましたが回答を得られなかったのでこちらに投げ直します、よろしくお願いします
c#でWindowsFormのForm1(大きさ以外全てデフォルト)に
richTextbox(大きさ以外全てデフォルト)のコントロールを張り付けて以下のコードを実行
static void Main()
{
Application.Run(new Form1());
}
表示されたrichTextboxにイメージをペーストすると強制的に縮小されてしましまいます、richTextboxのサイズに依存せずすべて同じ大きさになります
どうして等倍で表示されないかの理由と等倍にする方法、又は倍率指定をする方法はありますか?
※キャプチャ画面 http://up-img.net/img.php?mode=jpg&id=22425
参考1:vb.netでも同じ現象が起きます
参考2:クリップボードのイメージを縮小してからペーストしたところ画像は小さくなるのですが拡大してからペーストをしても同じ大きさのままで一定の大きさを超えることはありませんでした
参考3:イメージのハンドルをマウスカーソルでつかんで大きさを変えることは可能です
c#でWindowsFormのForm1(大きさ以外全てデフォルト)に
richTextbox(大きさ以外全てデフォルト)のコントロールを張り付けて以下のコードを実行
static void Main()
{
Application.Run(new Form1());
}
表示されたrichTextboxにイメージをペーストすると強制的に縮小されてしましまいます、richTextboxのサイズに依存せずすべて同じ大きさになります
どうして等倍で表示されないかの理由と等倍にする方法、又は倍率指定をする方法はありますか?
※キャプチャ画面 http://up-img.net/img.php?mode=jpg&id=22425
参考1:vb.netでも同じ現象が起きます
参考2:クリップボードのイメージを縮小してからペーストしたところ画像は小さくなるのですが拡大してからペーストをしても同じ大きさのままで一定の大きさを超えることはありませんでした
参考3:イメージのハンドルをマウスカーソルでつかんで大きさを変えることは可能です
343デフォルトの名無しさん (ワッチョイ 9a01-VB6v)
2021/06/18(金) 15:11:40.58ID:BPwODCTr0 テトリス作ってるんだけどおもしれー
もしググったら洗練されたコード出てきちゃってつまんなくなるから一切調べない方向で行く
オブジェクト指向って何ですか?っていうとんでもなく酷いコードなんだけど、とりあえず力尽くで作ってみる
もしググったら洗練されたコード出てきちゃってつまんなくなるから一切調べない方向で行く
オブジェクト指向って何ですか?っていうとんでもなく酷いコードなんだけど、とりあえず力尽くで作ってみる
344デフォルトの名無しさん (ワッチョイ 0387-LA4V)
2021/06/18(金) 15:15:28.22ID:IfPYq/+20 >>343
イイね!できたら教えてよ!!
イイね!できたら教えてよ!!
345デフォルトの名無しさん (ワッチョイ 9a01-VB6v)
2021/06/18(金) 15:25:02.03ID:BPwODCTr0 はぁ〜い 時間かかりそうだけど!
346デフォルトの名無しさん (ラクッペペ MMb6-tFUR)
2021/06/18(金) 16:37:12.93ID:tae+NGJOM wpfのdatagridでmvvmでテトリス
347デフォルトの名無しさん (アウアウウー Sa47-FswZ)
2021/06/18(金) 17:29:10.97ID:2oHMGf83a >>342
再現できんなあ。
コピー元アプリの方で縮小してるんじゃないの?
その問題のクリップボードの画像は、他のアプリ、例えばペイントにペーストした時には
ちゃんと原寸大でペーストされる?
画像サイズがデカい時、ワードパッドだと横幅に合わせて縮小されるけど、
RichTextBoxにそんな気の利いた機能が実装されてるとも思えんけど
再現できんなあ。
コピー元アプリの方で縮小してるんじゃないの?
その問題のクリップボードの画像は、他のアプリ、例えばペイントにペーストした時には
ちゃんと原寸大でペーストされる?
画像サイズがデカい時、ワードパッドだと横幅に合わせて縮小されるけど、
RichTextBoxにそんな気の利いた機能が実装されてるとも思えんけど
348デフォルトの名無しさん (ワッチョイ f6da-Y04N)
2021/06/18(金) 17:35:41.01ID:CeuVWc4D0 DPIじゃねーの
349デフォルトの名無しさん (ブーイモ MM26-YCR2)
2021/06/18(金) 19:34:09.02ID:sIt6goKIM350デフォルトの名無しさん (ブーイモ MM26-YCR2)
2021/06/18(金) 21:14:08.05ID:sIt6goKIM >>349
色々試してみたところ画像ファイル(jpg)を直接ドラッグしたりコピペした場合には画像が小さくなって、ペイントに一度貼り付けたものをコピペした時は等倍になるようです
つまりクリップボードの中身がファイル名だとなぜか縮小されて、イメージファイルだと正しくコピーされるようです、理由は解らないですがちゃんとイメージをコピーしていない自分のミスでした、すみません
ありがとうございます
色々試してみたところ画像ファイル(jpg)を直接ドラッグしたりコピペした場合には画像が小さくなって、ペイントに一度貼り付けたものをコピペした時は等倍になるようです
つまりクリップボードの中身がファイル名だとなぜか縮小されて、イメージファイルだと正しくコピーされるようです、理由は解らないですがちゃんとイメージをコピーしていない自分のミスでした、すみません
ありがとうございます
351デフォルトの名無しさん (ワッチョイ f6da-Y04N)
2021/06/18(金) 21:18:17.98ID:CeuVWc4D0 マカーが作った画像じゃないの?DPIが72になってるやつ。
Windows標準は96dpiだから、同じ300ピクセルの画像でもdpi情報が72か96かで変な挙動した記憶がある。
テストに使ってる画像を右クリックして詳細タブの「水平/垂直方向の解像度」の値みてみ。
それとテスト画像を96dpiで作られてるもので試してみるとか
Windows標準は96dpiだから、同じ300ピクセルの画像でもdpi情報が72か96かで変な挙動した記憶がある。
テストに使ってる画像を右クリックして詳細タブの「水平/垂直方向の解像度」の値みてみ。
それとテスト画像を96dpiで作られてるもので試してみるとか
352デフォルトの名無しさん (ワッチョイ f6da-Y04N)
2021/06/18(金) 21:21:54.18ID:CeuVWc4D0 右クリックしてプロパティの詳細タブね
中段くらいにあるの「水平方向の解像度/垂直方向の解像度」
中段くらいにあるの「水平方向の解像度/垂直方向の解像度」
353デフォルトの名無しさん (ブーイモ MM26-YCR2)
2021/06/19(土) 00:22:28.91ID:6GSPTGzeM >>351
私もそう思って色々なDPIのファイルを試したのですけど全て同じ挙動なんですよね、大体は96か300あたりでした
逆に72は今のところはないようです
とりあえずPictureBoxに画像を読み込めば等倍でいけるのでそれで代用するしかないかなと考えています
私もそう思って色々なDPIのファイルを試したのですけど全て同じ挙動なんですよね、大体は96か300あたりでした
逆に72は今のところはないようです
とりあえずPictureBoxに画像を読み込めば等倍でいけるのでそれで代用するしかないかなと考えています
354デフォルトの名無しさん (ワッチョイ a702-H/9o)
2021/06/19(土) 11:19:41.98ID:aMtkyk0f0 再現はしたけど、解決方法は分からないなあ。
間接的な方法ではこんなのがあるかも。
1) RichTextBox の中に PictureBox を貼り付ける
2) コピー元によっては期待通りになるなら、一度別のコントロールに貼り付けた後にそこからコピペしてみる
RichTextBox.Rtf プロパティをどうにかするって投稿もあったけど、自分にはどうにもならなかった。
間接的な方法ではこんなのがあるかも。
1) RichTextBox の中に PictureBox を貼り付ける
2) コピー元によっては期待通りになるなら、一度別のコントロールに貼り付けた後にそこからコピペしてみる
RichTextBox.Rtf プロパティをどうにかするって投稿もあったけど、自分にはどうにもならなかった。
355デフォルトの名無しさん (アウアウウー Sa47-FswZ)
2021/06/19(土) 13:34:06.66ID:Dd96s04da だから最初から言ってるけど、コピペにしろD&Dにしろ、まずソース側を疑うのが普通でしょ。
何でそれをやらないのか不思議でしょうがない。
ソース側がサムネイルを提供してるならサムネイルが表示されるのが正常な動作で受け取る側では
どうしようもない。
少なくともデータがビットマップなら勝手に縮小するような仕様になってないのは確かだ。
何でそれをやらないのか不思議でしょうがない。
ソース側がサムネイルを提供してるならサムネイルが表示されるのが正常な動作で受け取る側では
どうしようもない。
少なくともデータがビットマップなら勝手に縮小するような仕様になってないのは確かだ。
356デフォルトの名無しさん (ワッチョイ a702-H/9o)
2021/06/19(土) 16:10:20.94ID:aMtkyk0f0 疑うソースがないからでは。
新規作成のプロジェクトに RichTextBox を張っただけで再現したし。
新規作成のプロジェクトに RichTextBox を張っただけで再現したし。
357デフォルトの名無しさん (アウアウウー Sa47-FswZ)
2021/06/19(土) 16:34:18.74ID:Dd96s04da >>356
えっと日本語通じてますか?
えっと日本語通じてますか?
358デフォルトの名無しさん (ワッチョイ 4e63-r2cR)
2021/06/19(土) 16:42:34.90ID:uTQPbFOf0 通じるだけでいいのか?(挑発)
359デフォルトの名無しさん (アウアウウー Sa47-FswZ)
2021/06/19(土) 17:09:46.83ID:Dd96s04da360デフォルトの名無しさん (ワッチョイ 0eda-B2Dz)
2021/06/19(土) 18:35:19.62ID:21QoYkZn0 有料サービスかYahoo!知恵遅れを使いたまえ
361デフォルトの名無しさん (ブーイモ MMff-YCR2)
2021/06/19(土) 23:50:18.43ID:c/Gc9inqM >>359
ありがとうございます、350です、確かにクリップボードをみてみると同じjpgファイルでも
ペイントに表示させてからコピーしたものはイメージの形式がCF_DIBになっていて
エクスプローラからコピーしたものはCF_HDROPになっていました
予想ではrichTextboxはこのデータの形式によって挙動(優先順位もそうですが)が違うようで
CF_DIB(BITMAP)形式のデータを渡してあげないと等倍にはしてくれないようです
ここまでは教えて頂いて解ったのですがじゃあどうするかというとかなり難しいようで
スキル的にさっぱり解らないので今回は何か他の方法を検討してみようと思います
※ちなみにPictureBoxに表示させてからコピペしてもダメでした
ありがとうございます、350です、確かにクリップボードをみてみると同じjpgファイルでも
ペイントに表示させてからコピーしたものはイメージの形式がCF_DIBになっていて
エクスプローラからコピーしたものはCF_HDROPになっていました
予想ではrichTextboxはこのデータの形式によって挙動(優先順位もそうですが)が違うようで
CF_DIB(BITMAP)形式のデータを渡してあげないと等倍にはしてくれないようです
ここまでは教えて頂いて解ったのですがじゃあどうするかというとかなり難しいようで
スキル的にさっぱり解らないので今回は何か他の方法を検討してみようと思います
※ちなみにPictureBoxに表示させてからコピペしてもダメでした
362デフォルトの名無しさん (ワッチョイ b32f-C2Ex)
2021/06/20(日) 02:16:25.90ID:ly1l4Yun0 普通にエクスプローラからコピペとかドロップしたら、ファイル名が表示される気がするんだが
詳しい環境と手順書いてくれ
詳しい環境と手順書いてくれ
363デフォルトの名無しさん (ブーイモ MMff-YCR2)
2021/06/20(日) 08:47:45.77ID:j7B8ObuHM >>362
解る限りですが……
VS:Version 16.7.2 win10 4K
ブラウザ:Chronme
手順は基本 >>342のとおりです、それ以外は特にいじっていないです
あとは下記2点で試しています
元ファイルはネットにある画像ファイル(不特定多数でなんでも)で
縮小は横幅が376(目読み 笑)ピクセル以上あればどれでも起こるようです
※PictureBox1.SizeMode = PictureBoxSizeMode.Zoom;と同じ挙動です
クリップボード内容はこれで確認しました
https://www.officedaytime.com/clipmm/
参考にしたのはここらへんです
https://www.atmarkit.co.jp/ait/articles/0012/19/news005.html
https://johobase.com/clipboard-get-set-csharp/
http://blog.esora.xyz/clipboard-auto-convert
https://docs.microsoft.com/en-us/windows/win32/dataxchg/standard-clipboard-formats
https://dobon.net/vb/dotnet/system/clipboardformats.html
もちろんエクスプローラーからコピペしたものはファイル名も入っているのですが
前回その部分は割愛させていただきました
解る限りですが……
VS:Version 16.7.2 win10 4K
ブラウザ:Chronme
手順は基本 >>342のとおりです、それ以外は特にいじっていないです
あとは下記2点で試しています
元ファイルはネットにある画像ファイル(不特定多数でなんでも)で
縮小は横幅が376(目読み 笑)ピクセル以上あればどれでも起こるようです
※PictureBox1.SizeMode = PictureBoxSizeMode.Zoom;と同じ挙動です
クリップボード内容はこれで確認しました
https://www.officedaytime.com/clipmm/
参考にしたのはここらへんです
https://www.atmarkit.co.jp/ait/articles/0012/19/news005.html
https://johobase.com/clipboard-get-set-csharp/
http://blog.esora.xyz/clipboard-auto-convert
https://docs.microsoft.com/en-us/windows/win32/dataxchg/standard-clipboard-formats
https://dobon.net/vb/dotnet/system/clipboardformats.html
もちろんエクスプローラーからコピペしたものはファイル名も入っているのですが
前回その部分は割愛させていただきました
364デフォルトの名無しさん (ワッチョイ 5a01-QZnr)
2021/06/20(日) 11:30:26.30ID:VCVOwR8e0365デフォルトの名無しさん (ワッチョイ b32f-C2Ex)
2021/06/20(日) 13:09:02.38ID:ly1l4Yun0 RichTextBoxのEnableAutoDragDropはデフォルトfalseだから、そもそもドロップできないってのはおいといて
エクスプローラからRichTextBoxに(JPEG)ファイルをドロップやペーストしても
ファイル名が表示されるだけで、そこに画像が表示されたりしないだろって言ってるんだが
俺の環境だけか?
エクスプローラからRichTextBoxに(JPEG)ファイルをドロップやペーストしても
ファイル名が表示されるだけで、そこに画像が表示されたりしないだろって言ってるんだが
俺の環境だけか?
366デフォルトの名無しさん (ワッチョイ 9b0a-mD0S)
2021/06/21(月) 17:49:14.81ID:653L3PyX0 AppendAllTextとアクセス権についてお詳しい方いらっしゃいましたら教えてください。
今、とあるテキストファイルに対しデータを追加するコードを書いています。そのファイルのアクセス権は少し特殊で、上書き保存は許可せず、データの追加のみ許可しようと考えています。
OSはWin10ですので、ファイルのセキュリティの詳細設定から、データの書き込み許可のチェックは外し、データの追加の許可はチェックしてある状態です。
その状態でファイルに対しAppendAllTextを実行すると、ファイルのアクセスが拒否されたとのエラーが発生してしまいます。
StreamWriterやFileStreamを使ってデータの追加を試みても同様の結果でした。
実行アカウントが正しいことはWindowsIdentityから確認済みで、操作対象のファイルに対しデータの追加権限があることもSecurityManagerのIsGrantedで確認しました。
また、データの書き込みを許可するとエラーは出なくなります。
以上の現象は仕様なのでしょうか?
データの書き込みを許可せずにファイルにデータを追加する良い方法は無いでしょうか?
長文になり申し訳ありませんが、教え頂けると幸いです。
今、とあるテキストファイルに対しデータを追加するコードを書いています。そのファイルのアクセス権は少し特殊で、上書き保存は許可せず、データの追加のみ許可しようと考えています。
OSはWin10ですので、ファイルのセキュリティの詳細設定から、データの書き込み許可のチェックは外し、データの追加の許可はチェックしてある状態です。
その状態でファイルに対しAppendAllTextを実行すると、ファイルのアクセスが拒否されたとのエラーが発生してしまいます。
StreamWriterやFileStreamを使ってデータの追加を試みても同様の結果でした。
実行アカウントが正しいことはWindowsIdentityから確認済みで、操作対象のファイルに対しデータの追加権限があることもSecurityManagerのIsGrantedで確認しました。
また、データの書き込みを許可するとエラーは出なくなります。
以上の現象は仕様なのでしょうか?
データの書き込みを許可せずにファイルにデータを追加する良い方法は無いでしょうか?
長文になり申し訳ありませんが、教え頂けると幸いです。
367デフォルトの名無しさん (ワッチョイ e778-OGVT)
2021/06/21(月) 18:56:22.55ID:p5QR5ZM70 それC#関係あるの?
368デフォルトの名無しさん (ワッチョイ 9b0a-mD0S)
2021/06/21(月) 19:09:48.17ID:653L3PyX0 >>367
許可は与えているのでできないのはC#側の仕様かと思い込んでいましたが、先程Pythonで同様の処理をしようとしても同じくエラーでした。
アクセス権はあるはずなのにできない理由が不可解ですが、C#固有の問題では無さそうなのでスレ違いでした。
お騒がせしました、ありがとうございました。
許可は与えているのでできないのはC#側の仕様かと思い込んでいましたが、先程Pythonで同様の処理をしようとしても同じくエラーでした。
アクセス権はあるはずなのにできない理由が不可解ですが、C#固有の問題では無さそうなのでスレ違いでした。
お騒がせしました、ありがとうございました。
369デフォルトの名無しさん (テテンテンテン MMb6-8ohN)
2021/06/21(月) 19:44:00.59ID:ZPtJaOSgM 試さずに書いちゃうけど、
>>366のはFileStreamのコンストラクタでfileModeに「FileMode.Append」を明示的に指定した場合に限っては
エラーにならず意図したとおりに追記書き込みが出来そうな気がする
File.AppendAllTextのソースを軽く見た限りは
https://referencesource.microsoft.com/#mscorlib/system/io/file.cs,d673bcd88b09d5b8
の
https://referencesource.microsoft.com/#mscorlib/system/io/file.cs,4ff1446b33bdfb6b
って感じで細かいパラメータを指定せずStreamWriterを開いてるから
暗黙のうちにFileMode.Open(=追記に限らない汎用的な書き込み要求)でファイルを開こうとして
エラーになってるんだと思う
>>366のはFileStreamのコンストラクタでfileModeに「FileMode.Append」を明示的に指定した場合に限っては
エラーにならず意図したとおりに追記書き込みが出来そうな気がする
File.AppendAllTextのソースを軽く見た限りは
https://referencesource.microsoft.com/#mscorlib/system/io/file.cs,d673bcd88b09d5b8
の
https://referencesource.microsoft.com/#mscorlib/system/io/file.cs,4ff1446b33bdfb6b
って感じで細かいパラメータを指定せずStreamWriterを開いてるから
暗黙のうちにFileMode.Open(=追記に限らない汎用的な書き込み要求)でファイルを開こうとして
エラーになってるんだと思う
370デフォルトの名無しさん (アウアウウー Sa47-FswZ)
2021/06/21(月) 19:57:20.17ID:/frx3MW9a cmdで
echo AAA >> hoge.txt
とかやってもダメだねw
そもそも「書込み不可」なのに「追記可能」というのは矛盾しているようにしか聞こえない。
ググって↓の記事とか読んでみたがどうも判然としないね
https://milestone-of-se.nesuke.com/sv-basic/windows-basic/kind-of-permission/
逆に「書込み可能」と「追記不可」という組み合わせに意味があるってことなんだろうか?
echo AAA >> hoge.txt
とかやってもダメだねw
そもそも「書込み不可」なのに「追記可能」というのは矛盾しているようにしか聞こえない。
ググって↓の記事とか読んでみたがどうも判然としないね
https://milestone-of-se.nesuke.com/sv-basic/windows-basic/kind-of-permission/
逆に「書込み可能」と「追記不可」という組み合わせに意味があるってことなんだろうか?
371デフォルトの名無しさん (アウアウウー Sa47-FswZ)
2021/06/21(月) 20:01:54.37ID:/frx3MW9a372デフォルトの名無しさん (ワッチョイ b393-wi7e)
2021/06/21(月) 20:25:03.04ID:doqvFJGs0373デフォルトの名無しさん (ワッチョイ 9b0a-mD0S)
2021/06/21(月) 20:26:07.89ID:653L3PyX0 皆様ありがとうございます。
長くなりすぎて書くのを省いてしまったのですが、FileMode.Appendと明示しても駄目でした。
書き込みは既存の内容を変更するための権限と思っていたので追記は単独で機能すると考えたのですが、追記するにも書き込み権限が必要になるようですね…
長くなりすぎて書くのを省いてしまったのですが、FileMode.Appendと明示しても駄目でした。
書き込みは既存の内容を変更するための権限と思っていたので追記は単独で機能すると考えたのですが、追記するにも書き込み権限が必要になるようですね…
374デフォルトの名無しさん (テテンテンテン MMb6-8ohN)
2021/06/21(月) 20:27:24.58ID:R1Q9shF9M あーできないんかー
FileStreamの初期化処理見てみたら何かわかるかなあと思ったら
歴史の積み重ねというかなんとも泥臭いソースだった・・・
https://referencesource.microsoft.com/#mscorlib/system/io/filestream.cs,76ef6c04de9d0ed8,references
ファイル開く処理って当たり前だけどWin32APIなのね
FileStreamの初期化処理見てみたら何かわかるかなあと思ったら
歴史の積み重ねというかなんとも泥臭いソースだった・・・
https://referencesource.microsoft.com/#mscorlib/system/io/filestream.cs,76ef6c04de9d0ed8,references
ファイル開く処理って当たり前だけどWin32APIなのね
375デフォルトの名無しさん (テテンテンテン MMb6-8ohN)
2021/06/21(月) 20:32:49.87ID:R1Q9shF9M えースレチなの?
C#で書くソースでもNETFrameworkAPIの仕様についての話になるようなテーマはこのスレで書いちゃだめなのかあ
こんなんで教えたがりマン呼ばわりされちゃうのかあ
C#で書くソースでもNETFrameworkAPIの仕様についての話になるようなテーマはこのスレで書いちゃだめなのかあ
こんなんで教えたがりマン呼ばわりされちゃうのかあ
376デフォルトの名無しさん (ワッチョイ b393-wi7e)
2021/06/21(月) 20:41:48.04ID:doqvFJGs0377デフォルトの名無しさん (アウアウウー Sa47-FswZ)
2021/06/21(月) 20:47:40.52ID:4MUa/1sNa また下劣な交通整理マンが威張ってるのかw
ほんとバカだよなこいつ
ほんとバカだよなこいつ
378デフォルトの名無しさん (アウアウウー Sa47-FswZ)
2021/06/21(月) 20:52:11.09ID:4MUa/1sNa このバカの論理を厳密に適用したらこのスレの大半の質問はスレ違いになる。
そもそも>>366みたいな質問で誰が困るのかね。
だーれも困りゃしねーよバーカ。
単にお前が他人にケチを付けたいって卑しい動機で言ってるだけだろ馬鹿臭い。
そもそも>>366みたいな質問で誰が困るのかね。
だーれも困りゃしねーよバーカ。
単にお前が他人にケチを付けたいって卑しい動機で言ってるだけだろ馬鹿臭い。
379デフォルトの名無しさん (ワッチョイ b393-wi7e)
2021/06/21(月) 21:30:40.10ID:doqvFJGs0380デフォルトの名無しさん (ワッチョイ a75f-3RHv)
2021/06/21(月) 22:14:52.08ID:BUoiO5zG0 フルコントロールを外す
変更、書込に許可
特殊なアクセス許可で削除、ファイルの作成不許可だったかな
変更、書込に許可
特殊なアクセス許可で削除、ファイルの作成不許可だったかな
381デフォルトの名無しさん (ワッチョイ 0e68-l7Tt)
2021/06/22(火) 19:04:26.06ID:MwXlKMk/0 諸先輩の方々にご教授願いたい事があり、質問させていただきました。
皆さん、アプリを作成する際のアイコンはどこで仕入れてらっしゃいますでしょうか?
ツールバーのアイコンのセットを購入したいのですが、どこで皆さん買われてますか?
教えてください🙇🏻
皆さん、アプリを作成する際のアイコンはどこで仕入れてらっしゃいますでしょうか?
ツールバーのアイコンのセットを購入したいのですが、どこで皆さん買われてますか?
教えてください🙇🏻
382デフォルトの名無しさん (ワッチョイ ca33-N7Uk)
2021/06/22(火) 19:30:53.20ID:nUMy0Bm50 C#関係無し。次の方どうぞ。
383デフォルトの名無しさん (ワッチョイ 9a6a-meyV)
2021/06/22(火) 20:15:33.60ID:OGQvzFYh0384デフォルトの名無しさん (ワッチョイ 8754-LgoA)
2021/06/23(水) 02:14:59.51ID:7ER6/IiD0 例外処理をどうするべきか教えて下さい。
処理の流れは以下です。
@DBサーバーに接続
Aサーバーにクエリを投げてデータ取得
A取得したデータをFormのDataGridViewに反映
この場合、通信不調が原因で例外が発生しそうな場所は、
@接続タイムアウト
Aクエリ送信後に通信不調が発生しデータ取得不可
Bデータが取得できなかった場合にNullReferenceException
だと思っているのですが、どこでtry catch処理してユーザーに通知するべきなのでしょうか?
処理の流れは以下です。
@DBサーバーに接続
Aサーバーにクエリを投げてデータ取得
A取得したデータをFormのDataGridViewに反映
この場合、通信不調が原因で例外が発生しそうな場所は、
@接続タイムアウト
Aクエリ送信後に通信不調が発生しデータ取得不可
Bデータが取得できなかった場合にNullReferenceException
だと思っているのですが、どこでtry catch処理してユーザーに通知するべきなのでしょうか?
385デフォルトの名無しさん (ワッチョイ ca33-N7Uk)
2021/06/23(水) 08:25:05.59ID:ShlUbf0a0 C#関係無し。次の患者さんどうぞ。
386デフォルトの名無しさん (ワッチョイ 237c-wi7e)
2021/06/23(水) 08:54:43.68ID:Mu5bi6dj0 これは関係あるだろ
歴外処理は言語依存だ
歴外処理は言語依存だ
387デフォルトの名無しさん (テテンテンテン MMb6-bi/t)
2021/06/23(水) 09:16:09.79ID:F5LywJDKM >>384
NullReferenceExceptionが出るのはバグと見做すのが普通であり、明示的にnullチェックして例外を発生させないようにすべき
そもそも例外は個別に処理しないのが基本であり、ユーザーへの通知なんか最終的にはApplication.ThreadExceptionイベントでやればよい
その上でメッセージを出し分けたいとかリトライしたいとか個別の事由がある場合には処理に適した場所でキャッチして処理する
個別にメッセージ出したいならクリックのイベントハンドラなどUIの一番大元で処理するのが適切だろうな
NullReferenceExceptionが出るのはバグと見做すのが普通であり、明示的にnullチェックして例外を発生させないようにすべき
そもそも例外は個別に処理しないのが基本であり、ユーザーへの通知なんか最終的にはApplication.ThreadExceptionイベントでやればよい
その上でメッセージを出し分けたいとかリトライしたいとか個別の事由がある場合には処理に適した場所でキャッチして処理する
個別にメッセージ出したいならクリックのイベントハンドラなどUIの一番大元で処理するのが適切だろうな
388デフォルトの名無しさん (アウアウウー Sa47-FswZ)
2021/06/23(水) 12:59:00.83ID:tnu5qnzMa >>384
なんか抽象的過ぎて結局何が聞きたいのかよくわからない気が。
tryブロックをどこに書くべきかって話ならもちろん普通は発生個所に書く。っていうか、
通信が絡むならリトライする関係で必然的にそうなるよね?その上で必要ならそのまま再スローするか
ラップしてスローする。
リトライなんかしなくてもtryブロックはいちいち発生個所に書かないとダメ。なぜならどこで例外が
起こりうるかなんてだいたい理解しているのはそのコードを集中して書いてる時だけですぐに忘れるから
エラーメッセージの表示は誰の仕事かという意味ならそれはもちろんUIの仕事で疑問の余地はない。
あと間違ってるかもしれないが、↓の記事にあるような集約的に例外をトラップする機能は
プログラマが想定してない例外の発生(要するにバグ)を想定して使うものであって
手抜きのために使うものではないと思う。
https://www.atmarkit.co.jp/ait/articles/1512/16/news026.html
なんか抽象的過ぎて結局何が聞きたいのかよくわからない気が。
tryブロックをどこに書くべきかって話ならもちろん普通は発生個所に書く。っていうか、
通信が絡むならリトライする関係で必然的にそうなるよね?その上で必要ならそのまま再スローするか
ラップしてスローする。
リトライなんかしなくてもtryブロックはいちいち発生個所に書かないとダメ。なぜならどこで例外が
起こりうるかなんてだいたい理解しているのはそのコードを集中して書いてる時だけですぐに忘れるから
エラーメッセージの表示は誰の仕事かという意味ならそれはもちろんUIの仕事で疑問の余地はない。
あと間違ってるかもしれないが、↓の記事にあるような集約的に例外をトラップする機能は
プログラマが想定してない例外の発生(要するにバグ)を想定して使うものであって
手抜きのために使うものではないと思う。
https://www.atmarkit.co.jp/ait/articles/1512/16/news026.html
389デフォルトの名無しさん (ワッチョイ 4ea7-Z1/y)
2021/06/23(水) 22:27:53.29ID:oXoNjVOZ0 終了処理がないなら例外は一番外側でcatchすればいいかな?
一番外側ってのはformでいうclickメソッドみたいなのね
終了処理が必要なとき
つまりDBの更新処理なんかに失敗したとき例外でぶっ飛ばしちゃうと
Rollbackができないのでcatchが必要
よくやる間違った組み方で
例外=エラーとして組んじゃうと
上記のようなときにエラーをうまく伝搬することができない
例外は本当に想定外の受け皿
ある条件下で起こることがわかっているものはエラーとして処理するとうまくいく
一番外側ってのはformでいうclickメソッドみたいなのね
終了処理が必要なとき
つまりDBの更新処理なんかに失敗したとき例外でぶっ飛ばしちゃうと
Rollbackができないのでcatchが必要
よくやる間違った組み方で
例外=エラーとして組んじゃうと
上記のようなときにエラーをうまく伝搬することができない
例外は本当に想定外の受け皿
ある条件下で起こることがわかっているものはエラーとして処理するとうまくいく
390デフォルトの名無しさん (ワッチョイ 5a01-QZnr)
2021/06/23(水) 22:35:03.91ID:mfn5LAEG0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★4 [BFU★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- 中国、レアアース輸出制限wwwwwwwwwwwwwwwwwwwwwwww🎌 [329329848]
- 橋下徹「中国こそ国家としてのあるべき姿!!」
- ( ´・ω・` )ぶーぶー
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 【訃報】日経平均先物逝く、円安株安債券安 [943688309]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
