C#, C♯, C#相談室 Part95

■ このスレッドは過去ログ倉庫に格納されています
2017/10/17(火) 00:41:22.60ID:JxIRdCj70
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part94
http://mevius.2ch.net/test/read.cgi/tech/1492843013/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2019/07/10(水) 18:54:55.06ID:Pc5iw8Z80
自分の設計力不足をMSのせいにするなよ
2019/07/10(水) 19:00:13.51ID:BgjseyMO0
>>123
答え出てるじゃん
自分で作りなよ
2019/07/10(水) 22:41:42.75ID:r/PFuwdP0
typeに応じてやる処理を抽象化すればinterfaceのリストで事足りるってことじゃないんか
2019/07/21(日) 23:27:31.90ID:lGaupOsP0
>>10
結局これは
https://mevius.5ch.net/test/read.cgi/tech/1563258983/31
こういうことだったんだな
ファイナライザは確認してないがDisposeした後に2回動かすと確かにちゃんと片づけられる
GC.Collect使わなくてもある程度まで積みあがったら片付けられたけど自分の環境で試したら1GBまでそのままだったw
2019/07/22(月) 07:36:47.16ID:1xNSkDCq0
ファイナライザが実装されているオブジェクトは
自分でDisposeを呼ばないまま参照されなくなった場合
GC二回後にメモリが回収される(ファイナライザ待ちは世代昇格されるのであくまでGC.Collectでフル実行した場合の回数)

という仕組みなのでそれで問題が解決するなら結局どっかでDispose忘れてるんじゃねという話に戻るだけだょ
まあそもそもDisposeでファイナライザ抑制してなかったり
フレームワーク側で無駄に参照掴んでたりってパターンもあるから誰が戦犯かはそれだけじゃわからんけど
2019/08/12(月) 14:38:09.12ID:kdU0FwTT0
C#の国際規格についてちょっと聞きたい。そんな高級な質問じゃないんだけど……。

https://www.ecma-international.org/publications/standards/Ecma-334.htm
C# 5.0相当のISO/IEC 23270が2018年に公開されたけど、これに対応する日本産業規格って発行されるのだろうか?
そして発行されるとしていつごろになるんだろう。
この辺りの動向についてご存知のかたいます?
2019/08/13(火) 08:39:07.10ID:OBL8K+z10
知らんけど
ISOの2003版がJISの2005版、2006版が2008版になってるから
今回も2020版ぐらいになるんじゃね
2019/08/15(木) 06:29:42.47ID:KFntKln70
東京五輪の影響で規格化が遅れそう…
2019/08/26(月) 22:54:59.78ID:llFp3/Xa0
スレッド数が64を超えるcpuアフィニティの設定てどうするの?
133デフォルトの名無しさん (ワッチョイ 0d90-gQHD)
垢版 |
2019/08/28(水) 07:10:45.65ID:Zi6oAw3b0
VScodeで脳死プログラミングができると聞いたのですが本当ですか?
2019/09/04(水) 00:05:09.92ID:bsu7VNi60
昔のWin32アプリは、WinMain関数のnCmdShow引数で表示方法を得られましたが
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow);

WinFormアプリはどうやって得ればよいのでしょうか?
2019/09/04(水) 09:33:16.14ID:E2wRgXH30
GetStartupInfoを使う
MINIMIZE/MAXIMIZEだけならFormのWndProcをオーバーライドしてbase.WndProc後のm_Msg==1の時のthis.WindowState見るというのも
2019/09/05(木) 18:54:53.82ID:HPpIgnWU0
>134
ありがとうございます
諸事情によりEXEとフォーム持つDLLが分離しているため
APIで取得することにしました
137デフォルトの名無しさん (アウアウウー Sa85-TrZH)
垢版 |
2019/09/25(水) 07:50:08.17ID:yu694yUKa
今までほぼformアプリの開発しかしてきてないんですが、ASP.NETの開発やらないといけなくなりました
習得は結構大変ですか?おすすめの書籍などあれば教えていただきたいです
2019/09/25(水) 20:17:31.78ID:EcWtzQyLM
わいも知りたい
2019/09/25(水) 22:10:57.54ID:9Q76ghao0
FindIndex使えばループ書かなくても一行で済むじゃん綺麗じゃんと思ったんですけど、時間測ったらループ回すのより10倍くらい遅いんですよ
でも10倍って言っても0.00001と0.0001のオーダーでの差でぶっちゃけ体感時間には全く差が無し
そんな高速化が求められるようなプログラムでも無いんですが、こうなったら速度と可読性のうちこっちを優先させるみたいな基準って無いですかねぇ
2019/09/25(水) 22:20:32.97ID:VqafUfZJ0
まず可読性を優先、体感でわかるレベルで問題になるところ「だけ」速度を考えろ
2019/09/26(木) 02:48:32.55ID:en+kNYvx0
https://kakaku.com/prdcompare/prdcompare.aspx?pd_cmpkey=K0001020506_K0001013459_K0001020508_K0001020509&;pd_ctg=0150&spec=101_1-1-2-3-4,102_2-1-2-3-4-5-6,103_3-1-2-3,104_4-1-2-3-4-5-6-7-8-9-10-11-12-13-14-15,105_5-1-2
2019/10/30(水) 18:23:48.89ID:NKPTY8aU0
・変数名は意味の読み取れない1文字2文字ばかり
・関数名は中身と一致してない上に連番
・意地でも動的配列を使わずに宣言の際に要素数100とか宣言する
・複数のオブジェクトを使いたいときはわざわざ
public class Persons
{
public n = 0; // 要素数
person[] arr = null;
]
みたいなクラスを作る

そんなC#を書く隣の上司をなんとかする方法を相談したい……(スレ違い)
2019/10/30(水) 19:38:29.73ID:2ARpxczkr
サルでも解るシリーズの書籍を誕生日に贈る。
144デフォルトの名無しさん (ワッチョイ ff6a-mjLV)
垢版 |
2019/10/30(水) 21:14:47.10ID:hAwpvm3E0
プルリクで却下できないん?
145デフォルトの名無しさん (ワッチョイ cf2d-KmKR)
垢版 |
2019/10/30(水) 21:50:28.28ID:doIb6RUv0
メソッドの戻り値がどのようなものなのか、コード上で分かりやすく修飾する方法ってないのでしょうか?
雰囲気としてはこんな感じに書きたいのですが、こういう需要ってないんでしょうか・・・・
(FirstName : string, FamilyName : string) Name(){return ("aiueo", "700");}
2019/10/30(水) 21:53:35.09ID:zxDW+B/R0
>>145
そういうのはタプルよりもFirstNameとFamilyNameプロパティ持ったPersonクラス作るほうがわかりやすくない?
147デフォルトの名無しさん (アウアウウー Sa27-0Ghx)
垢版 |
2019/10/30(水) 22:54:56.03ID:Gqhw4MMca
ドキュメンテーションコメントでも書けばいいんじゃ
2019/10/30(水) 23:06:52.77ID:Ve/HJIbT0
tupleを返す
class/struct作ってその型で返す
out引数使う
お好きなのをどうぞ
個人的には場合によりけりでどのパターンも使う
2019/10/30(水) 23:08:32.80ID:Ve/HJIbT0
コード見て思ったけどもしかしてtupleに名前つけられるのを知らないだけだったりする?
2019/10/30(水) 23:58:19.82ID:3bs3H/Xu0
え、tupleに名前付けられるの?
Item1とか分かりにくすぎて嫌だからクラス作ってたけど名前つけられるならtupleでいいな
2019/10/31(木) 00:18:43.85ID:JXLI+jKB0
(string FirstName, string FamilyName) Name(){return ("aiueo", "700");}
って書けるよってことでしょ

using Name = System.Tuple<string, string>;
usingでaliasは設定できるけどこっちは使いみち少ない
2019/10/31(木) 00:50:52.29ID:MkAQwKar0
tupleのitem1とかにはプログラマが自由に命名できるしVSの補完候補にもちゃんと出てきてくれるよ
その1箇所でしか使わないような内容ならtupleで十分
153デフォルトの名無しさん (ワッチョイ 9e2d-46hx)
垢版 |
2019/10/31(木) 01:30:49.91ID:7TTG6xuA0
まじか、全然知らなかったよ
ありがとう
2019/11/01(金) 06:58:19.64ID:POn0QVxB0
>>142
その上司も含めてコーディング規約を作ればええやん
2019/11/01(金) 08:13:50.59ID:bPRiWep60
>>154
互換性を保つために、.NET2.0相当の記述方式とする
これマジでありました・・・
2019/11/01(金) 08:44:40.64ID:oh61GAM5a
>>155
それで皆が納得してるなら従うしかないな
2019/11/01(金) 09:22:46.81ID:luUnrp0t0
「互換性を保つため」とかならまだしも「今までこれでやって来たからこのままで問題ないだろ」って言ってそう
2019/11/01(金) 19:09:11.77ID:EqckBJhH0
LINQ分からん奴が言いそうね
2019/11/01(金) 22:43:07.33ID:MCB8CVSf0
ワイの上司は使わなくてもいい新しい機能容赦なく使ってくるので困る…
2019/11/01(金) 22:53:20.80ID:luUnrp0t0
たしかにそれはそれでうざいかも…
でも今使わない機能でも知っておくのはいいことだよ
2019/11/02(土) 00:21:45.36ID:Hd3sBx8l0
えーそんな上司羨ましいけど
こんな書き方あるんですね!みたいに話せそうで楽しそうじゃん
2019/11/02(土) 01:35:16.42ID:gWk8WKKS0
使わなくていい、のレベルによるかな
使うべきではないところで無理に新機能入れるのはやだな
慣れてないがために可読性が…くらいなら入れてほしい
var初期の頃とか後者な感じ
2019/11/02(土) 09:30:28.25ID:esIitHWU0
>>162
> 慣れてないがために可読性が…くらいなら入れてほしい
> var初期の頃とか後者な感じ
そのレベルなら>>159も別に困らないだろ
2019/11/02(土) 09:45:46.24ID:gWk8WKKS0
>>163
だから入れてほしいいうてるやん
前者だったらやだないうてるやん
2019/11/02(土) 10:17:49.05ID:esIitHWU0
>>164
日本語不自由なの?
> var初期の頃とか後者な感じ
なら>>159もいちいちレスなんてしないだろうってこと
2019/11/02(土) 10:43:02.41ID:pWYzNK5/d
>>165
今でもたまに居るのに初期の頃なんてvar反対派がどれだけいたと思ってんの?
日本語得意だと159のレスだけでそんな背景まで読み取れんの?
2019/11/02(土) 11:39:00.90ID:vl/bFsjFM
>>166
昔の話をいつまでも引きずる爺乙
お前みたいな奴が拗らせると>>142の上司みたいになるんだろうなw
2019/11/02(土) 11:47:25.61ID:pWYzNK5/d
>>167
???
日本語不自由はそちらじゃないのか?キャッチボールになってないぞ
2019/11/02(土) 11:56:17.08ID:Hd3sBx8l0
vs2019なんだけどvar書いたら明示的な書き方に変更しねぇ?ってメッセージ出してくるのではーんそういう方針になったんかと思ってたんだけどあれぇ?
2019/11/02(土) 12:46:00.84ID:esIitHWU0
>>168
そりゃお前みたいな頭の硬い爺とキャッチボールなんて成り立たんしw
171デフォルトの名無しさん (ワッチョイ ca6a-qV4/)
垢版 |
2019/11/02(土) 16:58:33.03ID:km6s5e3E0
>>169
デフォルトがそっちなだけで逆にも設定できるけどね
172デフォルトの名無しさん (ワッチョイ 635f-1FRn)
垢版 |
2019/11/02(土) 23:56:05.01ID:kSdsB0kB0
大量にキューに入れておいた情報を順次取り出して
10程度の芸列でどんどん処理していくのは
どういう感じで書けばいいですか。
とりあえず直近では処理の結果は個別にファイルにサクセイ・書き込みです。
2019/11/02(土) 23:58:30.80ID:dJ3V2vrm0
>>172
>10程度の芸列でどんどん処理していくのは
芸列とはなんですか?

>とりあえず直近では処理の結果は個別にファイルにサクセイ・書き込みです。
「個別にファイル作成・書き込み」の意味をもっと詳しく。
2019/11/03(日) 00:17:01.38ID:1Yjm47HG0
>>172
芸列クラスと芸行キューを使う感じで書けばいいと思います。
https://docs.microsoft.com/ja-jp/dotnet/api/system.threading.tasks.parallel
https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.concurrent.concurrentqueue-1
175デフォルトの名無しさん (ワッチョイ 635f-1FRn)
垢版 |
2019/11/03(日) 00:38:06.74ID:y3onw07e0
すみません。
芸列ではなくて並列でした。

>>173
ファイルをダウンロードして保存していく処理です。

>>174
ありがとうございます。
やってみます。
176デフォルトの名無しさん (ワッチョイ cbda-JGSe)
垢版 |
2019/11/04(月) 09:42:36.30ID:2+WwS96M0
FormのMainMenu内のMenuItemとしてPanelやUserControlを表示するにはどうすればよいでしょうか?
2019/11/04(月) 10:13:49.85ID:2+WwS96M0
すみません打開しました。

private UserControl1 UserControl1 = new UserControl1();

var menuItem = new ToolStripControlHost(UserControl1);

((ToolStripDropDownMenu)toolStripDropDownButton1.DropDown).ShowCheckMargin = false;
((ToolStripDropDownMenu)toolStripDropDownButton1.DropDown).ShowImageMargin = false;
toolStripDropDownButton1.DropDown.AutoSize = false;
toolStripDropDownButton1.DropDown.Size = new Size(UserControl1.Width, UserControl1.Height);
toolStripDropDownButton1.DropDown.Items.Add(menuItem);
2019/11/13(水) 09:04:11.57ID:1AwZzcZD0
メニュー項目をグレイ表示にしたりチェック記号など付けたいような場合、
MFCではOnUpdateXxxx()ハンドラでCCmdUIを使ったり、メニュー項目に
IDM_XXXXの様なID番号を付けておいて、そのID番号で操作することが
出来たのですが、C#で同様の事をしようとすると項目の表示順がそのまま
反映された0から割り振られた番号を使う必要があるようです。でもそれだと、
新しい項目を途中に追加した場合に番号がずれてしまいます。MFCと同様に
IDM_XXXX のようなID番号を付けたり、Updateハンドラで処理するような
方法はないのでしょうか?
2019/11/13(水) 12:10:20.10ID:dfp87pvz0
MenuItemなりToolStripMenuItemなりのインスタンスを使えばいい
デザイナで配置してるならフィールドに置かれてる
変数名はデザイナでNameプロパティを変えれば追従する
2019/11/13(水) 23:53:39.67ID:tSkG/O4T0
>>178
MenuItemなら分からんけどToolStripMenuItemならTagプロパティがある
ただその用途だと各Itemをフィールドの配列かListで別管理したほうが楽
2019/11/14(木) 10:48:50.19ID:23v5U+5B0
>>179
有難うございます。
メニュー項目に対応するインスタンス変数が存在していることすら知りませんでした。
182デフォルトの名無しさん (ワッチョイ 6d61-bNU/)
垢版 |
2019/11/16(土) 00:42:57.25ID:AbQTX8d40
Formアプリケーションを作っているとき、
例えば、Form1.cs, Form1.Designer.cs
Form1.resx(Form1.ja.resxなどになる場合も有りますが)
が組みになって作成されます。
Form1.csは人間がコードを書くためのもの、
Form1.Designer.csはIDEのデザイナが作成するもの
のように役割が決まっているそうですが、これらを互いに
関連付けているのはファイル名や拡張子なのでしょうか。
それとも、どこかに関連付いていることが記述されている
ファイルがあるのでしょうか???
2019/11/16(土) 00:44:19.89ID:HfmqkgpW0
csprojファイルに書いてある
2019/11/16(土) 00:46:32.43ID:AbQTX8d40
>>182
お聞きしたいのは、
xxx.cs と xxx.Designer.cs のようなファイル名の「パターン」によって関連付けられて
いるのか、それとも、どこかのファイルに、書き方はわかりませんが、例えば、
Relation{ "xxx.cs", "xxx.Designer.cs" };

Form "xxx.cs" {
Designer : "xxx.Designer.cs"
};
のような感じで関連付けを書いてあるファイルがあるのか、ということです。
2019/11/16(土) 01:19:44.10ID:YMoVrrFx0
>>184
だからcsprojファイルに書いてある
2019/11/16(土) 01:20:36.88ID:Jhdu8Hovd
>>184
クラスがpartial。
VSから見たときの関連性と言う意味では多分ファイル名だけど、コンパイルする時としてはpartialで同じ名前のクラスは纏められる。

というか昔はファイルわかれてなくて、regionの中に居た気がする。
partialが使えるようになった時にファイル分かれた。
2019/11/16(土) 01:24:27.50ID:Jhdu8Hovd
csprojで、DependentUponになってるけど、ファイル名変えたら変な事になった気がする。
変えても良いんだっけ?
2019/11/16(土) 01:26:29.09ID:YMoVrrFx0
>>182
はたぶん自動的にサブタイプになる設定がどこかに定義されてるかを聞きたいんだろうな…
2019/11/16(土) 09:28:48.15ID:+CnVgCxY0
>>185
こんな風になっています。例えば、クラス名が Form1 で、ファイル名も Form1.cs
になっていますが、もしクラス名とファイル名を異なるようにしてしまったり、
Form1Designer.cs のファイル名を変えて、WindowsFormsApp1.csproj の中の、
Compile Include を変えたりしてしまった場合、果たしてどうなるのでしょう。

【Form1.cs】
namespace WindowsFormsApp1
{
  public partial class Form1 : Form
  {
    ・・・
  }
}

【Form1Designer.cs】
namespace WindowsFormsApp1
{
  partial class Form1
  {
    ・・・
  }
}
2019/11/16(土) 09:29:13.19ID:+CnVgCxY0
>>189
【WindowsFormsApp1.csproj】
<ItemGroup>
 <Compile Include="Form1.cs">
  <SubType>Form</SubType>
 </Compile>
 <Compile Include="Form1.Designer.cs">
  <DependentUpon>Form1.cs</DependentUpon>
 </Compile>
 ・・・
 <EmbeddedResource Include="Form1.en.resx">
  <DependentUpon>Form1.cs</DependentUpon>
 </EmbeddedResource>
 <EmbeddedResource Include="Form1.ja-JP.resx">
  <DependentUpon>Form1.cs</DependentUpon>
 </EmbeddedResource>
 <EmbeddedResource Include="Form1.ja.resx">
  <DependentUpon>Form1.cs</DependentUpon>
 </EmbeddedResource>
 <EmbeddedResource Include="Form1.resx">
  <DependentUpon>Form1.cs</DependentUpon>
 </EmbeddedResource>
 ・・・
</ItemGroup>
2019/11/16(土) 09:45:51.65ID:ILBbGfsX0
>>182
Visual Studioの設定や機能の話は該当するVSのバージョンのスレでやってくれ
2019/11/16(土) 11:16:34.71ID:MdmPeVmZ0
>>189
試してみれば?
2019/11/16(土) 14:34:42.64ID:H9Ba0iJt0
VSが入れ子表示してるファイル名と、コンパイラがコンパイルするクラス名は別の話だからな
VSが入れ子表示する話やデザイナファイル作る話ならVSスレ行ってやってくれ
2019/11/16(土) 15:38:12.07ID:Sm3PGb9V0
緊急で質問です。
Windowsフォームのコンボボックスにて、フォーカスされた時の背景色を青ではなく薄水色にしたいのですが、やり方がわかりません。
ネットで調べてもほとんど引っかかりません。簡単なソースコードサンプル付きで教えてくださる優しい方がいらっしゃいましたら、よろしくお願い申し上げます。
2019/11/16(土) 16:48:11.20ID:gzUz93yQ0
>>194
それは緊急ですね。
ネットで調べるとたくさん引っかかりますよ。
https://stackoverflow.com/a/13212571/
https://stackoverflow.com/a/11650321/
https://stackoverflow.com/a/24476009/
https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.combobox.drawitem
196デフォルトの名無しさん (アウアウウー Sa45-CsEk)
垢版 |
2019/11/16(土) 17:41:51.10ID:aUb/5lHla
>>194
緊急とか書くと自分の都合しか考えない身勝手な奴だと思われるよw
いやマジで。
すでにからかわれてるけど。

やっつけならこれでいいのでは?
ちゃんとやるならCombobox継承してOnDrawItemをオーバーライドする
private void comboBox1_Enter(object sender, EventArgs e)
{
  var bc = comboBox1.BackColor;
  comboBox1.BackColor = Color.Azure;
  EventHandler leave = null;
  leave = (sencer, ev) =>
  {
    comboBox1.BackColor = bc;
    comboBox1.Leave -= leave;
  };
  comboBox1.Leave += leave;
}
2019/11/16(土) 18:34:21.65ID:dnB+BkZr0
>>189-190
プロジェクトファイルをバックアップしておいてから、
クラス名・ファイル名などを変えて、プロジェクトファイルがどう変わるか、

diff・VSCode などで、比べてみれば?
2019/11/16(土) 19:58:19.51ID:+CnVgCxY0
>>197
ソリューションエクスプローラー上の、Form1.cs上で、右クリックして、
出てくるメニューから「名前を変更」を選んでファイル名を変更したところ、
Form1.Designer.csのファイル名も連動して変更される現象を発見しました。
2019/11/16(土) 21:35:50.24ID:+CnVgCxY0
>>198
さらにこのとき、クラス名も Form1から新しいファイル名に対応したものへと
自動的に修正され、*.csproj 内の関連名も全て変更になります。
2019/11/17(日) 07:31:12.67ID:2EA7witB0
これからGUIデスクトップアプリ作り始めるなら、.net framework 4.8と.net core 3.0 どっちがいいの?
.net core のほうはGUIデザイナがないのがなんか気になる。
今書いたGUIデザインソースが.net 5 でGUIデザイナが出てきた時にうまく認識されずに全部書き直しになるんじゃないか不安になる。
2019/11/17(日) 07:37:16.91ID:LRl+Pbw6M
Blazorがいいよ
2019/11/17(日) 07:58:55.17ID:ADq5wcSz0
Client-side Blazorすら正式版が出てないのに。
2019/11/17(日) 08:27:12.76ID:lClw7DuB0
Unoがいいよ
2019/11/17(日) 12:01:58.08ID:romeOKJN0
>>200
ソースは使い回せるから好きなほうでいいよ
デザイナほしいなら.Net Framework
205デフォルトの名無しさん (ワッチョイ 122d-61jP)
垢版 |
2019/11/18(月) 14:21:42.81ID:cok7taLx0
.NetCoreでMingw64のBashで表示できるプログラムって作れないのですか?
206デフォルトの名無しさん (ワッチョイ 0261-bNU/)
垢版 |
2019/11/18(月) 20:06:09.61ID:Vzii0sJA0
>>205
そもそも、Windows上のbashはWinアプリなら全て実行できます。
2019/11/20(水) 12:30:53.34ID:HwawHrED0
CefSharp使うと一瞬画面が消えるんですけどなんとかなりませんかね?
2019/11/23(土) 09:13:16.39ID:g35NHCcr0
C#で作ったコマンドラインアプリで例外が原因でアプリが終了した場合の
終了コード(バッチだとERRORLEVEL%で見れる値)が仕様でどうなってるか教えて。

単純にMainでSystem.Exception投げるだけのプログラム組んだら-532462766だったけど、
typeof(System.Exception).GetHashCode()あたりかなと思ったけど違ったし……
2019/11/23(土) 09:21:08.42ID:Q44dea670
returnで終了コード返すのはダメなの?
2019/11/23(土) 09:29:14.61ID:g35NHCcr0
実用上はtrycatchしてreturnすりゃ問題ないけど、これ何の値なのかなーと。
2019/11/23(土) 11:13:28.16ID:2xdzU1XAF
16進数に変換してググると何か分かるかもね
2019/11/23(土) 11:38:50.28ID:0TwI+VPl0
/h -h 等でヘルプを出力がよくあるパターンだな
2019/11/24(日) 00:34:51.49ID:HUSWRqmS0
>>208
16進数に直すと、 0xE0434352 で、16進数の最後の3つは、ASCII CODEの
"CCR"になっており、「時間の霧で意味が失われる」という意味の頭字語
になっていて、corexcep.h の中の EXCEPTION_COMPLUS で定義されている。

https://stackoverflow.com/questions/35294313/exit-code-when-unhandled-exception-terminates-execution
On Windows, a .NET process normally exits with the SEH exception code value,
the one that got the process to crash and terminate. Usually -532462766
(aka 0xE0434352) for a managed exception. Last 3 hex pairs spell "CCR",
an acronym whose meaning is lost in the fog of time, declared as
EXCEPTION_COMPLUS in corexcep.h. Sample question is here.

https://github.com/dotnet/coreclr/blob/master/src/inc/corexcep.h

#define EXCEPTION_MSVC 0xe06d7363 // 0xe0000000 | 'msc'
#define EXCEPTION_COMPLUS 0xe0434352 // 0xe0000000 | 'CCR'
#define EXCEPTION_HIJACK 0xe0434f4e // 0xe0000000 | 'COM'+1
2019/11/24(日) 00:48:09.56ID:HUSWRqmS0
>>223
"CCR" は、「時間の霧で意味が失われる」という意味ではなく、
昔は何らかの英語の言葉の略語だったが、今となっては何の意味だったか
誰も思い出せなくなってしまったよく分からない略語、という意味らしい。
2019/11/24(日) 19:54:50.84ID:qE01BsLZ0
>>213
おお、詳細な情報ありがとう。

こっちも仕様をあたってみたけどC#の言語仕様もCLIの方もそれらしい記述は見当たらなかった。
まぁ英語苦手だし見落としてる可能性もかなり高いけど。
2019/12/03(火) 18:29:27.61ID:rt0m4L9f0
XML処理しなきゃいけなくなってコード組んだんだけどXDocument×LINQの組み合わせが楽すぎた
XML扱う上でC#は最強の言語なのではなかろうか。併用するライブラリの都合上C++/Pythonも考えたけど勝負にならんかったわ
他にXML使うのに便利な言語ってなんかある?
2019/12/03(火) 19:11:05.07ID:aZbE0bc+M
powershell
2019/12/03(火) 21:27:27.34ID:nqX73ViMM
xslt
2019/12/05(木) 14:46:16.32ID:JfDO/4XBH
以前に、const での定義名は、defineで定義したものに上書きされることがあるので
全部大文字で名前を付けないでPascal形式で付けるのが正しいらしいって質問をしたものだけど

そもそもC#ってdefineで定数作れないな
それでもPascal形式で名前つけたほうが良い?
2019/12/05(木) 15:24:41.41ID:S5Q8fHSu0
MS推奨はPascal
2019/12/05(木) 15:28:13.82ID:dtUadt8oM
>>219
Pascalにする慣習だしMSもそう推奨しているから従うだけ
命名規約はそれが存在し統一されていること自体に意味があるのであり、機能的な理由付けを求めることはナンセンス
2019/12/05(木) 16:33:23.52ID:Y6gi0TAn0
昔はXML最強だと思ってたけど
jsonやyamlの天才的な手抜きにに触れて考えが変わった
223デフォルトの名無しさん (アウアウウー Saa9-FVm2)
垢版 |
2019/12/05(木) 17:22:34.08ID:izIiWsXta
>>219
constであることを意識させる必要がもしあるならFOO_BAR形式は決して悪くないと思う。
ただ、その必要性があるケースってよく考えるとあんまりないんだよね。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況