!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part152
http://mevius.5ch.net/test/read.cgi/tech/1629888256/
■関連スレ
C#, C♯, C#相談室 Part94
http://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/
https://source.dot.net/
・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#(初心者用) Part153
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bf2c-yjVA)
2021/12/13(月) 22:53:21.18ID:dhjmiKBp0304デフォルトの名無しさん (オッペケ Srf1-gA9r)
2022/01/01(土) 17:38:08.24ID:lDil4oeBr MSは何も示せなくてユーザーたちが独自になんとかしようともだえてる
305デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/01(土) 17:52:27.24ID:cbVZORXia306デフォルトの名無しさん (ワッチョイ 49d2-MYyk)
2022/01/01(土) 17:56:51.18ID:gOXFnTf60 UWPってアレ結局なんなん?
MSのうさんくさい説明見ても正体がさっぱり掴めんわ
ちなXAML使い
MSのうさんくさい説明見ても正体がさっぱり掴めんわ
ちなXAML使い
307デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/01(土) 19:05:01.23ID:Je/lt7i4a308デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/01(土) 19:09:06.13ID:pK4dI97g0 >>307
IEコンポーネントはパフォーマンス悪すぎて大変だったんよ。本当に悪かった。
WebGL 2.0は全くダメだし。
そしてごく最近の記法が使えないので、古い書き方で苦労するかトランスパイラで相当トランスパイルしないといかんのだけど、これもこれで大変。
IEコンポーネントはパフォーマンス悪すぎて大変だったんよ。本当に悪かった。
WebGL 2.0は全くダメだし。
そしてごく最近の記法が使えないので、古い書き方で苦労するかトランスパイラで相当トランスパイルしないといかんのだけど、これもこれで大変。
309デフォルトの名無しさん (ワッチョイ 45ad-Rgq3)
2022/01/01(土) 19:38:20.84ID:FXZWUiqn0 そういえば、IEのコンポーネントって他プロセスから普通にDOM掴めたけど今のはそんなこと無いよな、さすがに。
310デフォルトの名無しさん (ワッチョイ ade6-X9o+)
2022/01/02(日) 02:26:12.88ID:XjOyUWVU0 >>308
VML使えや
VML使えや
311デフォルトの名無しさん (ワッチョイ 49b0-IeG5)
2022/01/02(日) 08:39:01.25ID:i8dUNFkB0 >>309
今のIE11でも変わらない。Chromium Edgeは無理。
今のIE11でも変わらない。Chromium Edgeは無理。
312デフォルトの名無しさん (オイコラミネオ MM65-f1Pp)
2022/01/03(月) 00:27:24.71ID:qrnm2syfM 結局DelphiやVB6を超えられなかったね
313デフォルトの名無しさん (ワッチョイ 9901-BTCB)
2022/01/03(月) 09:45:55.35ID:eQW2AhJK0 ということにしたいのですね
314デフォルトの名無しさん (ワッチョイ 49b0-IeG5)
2022/01/03(月) 09:53:42.79ID:Nty+tcHi0 もったいないので私にください
315デフォルトの名無しさん (アウアウウー Saa5-Rgq3)
2022/01/03(月) 10:54:19.16ID:SmC4rDQma はつみみです。
316デフォルトの名無しさん (ワッチョイ 6eda-iZeD)
2022/01/03(月) 13:30:35.98ID:lKbCt2OW0 C#でNewtonsoft.Jsonを使用して
[272,1496922300000,1496934000000,"Y3913",true,"XA","XA","HSZ-HAC","HAC-DFS-WCY",1496913600000]
のようなJSONを作成できますか?
(数値と文字列の混合配列)
[272,1496922300000,1496934000000,"Y3913",true,"XA","XA","HSZ-HAC","HAC-DFS-WCY",1496913600000]
のようなJSONを作成できますか?
(数値と文字列の混合配列)
317デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/03(月) 13:46:53.86ID:AMytSBf5a 名前なしのカンマ区切りだったらそれはcsvとして処理した方がはやいんじゃないのか
318デフォルトの名無しさん (ワッチョイ 31a7-TiOx)
2022/01/03(月) 14:44:00.30ID:5Qqik4MO0 >>316
全部文字列でいいじゃん
全部文字列でいいじゃん
319316 (ワッチョイ 6eda-iZeD)
2022/01/03(月) 15:23:04.22ID:lKbCt2OW0 echartsのガントチャートのデモです。
https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight
このデモ用のデータが
https://echarts.apache.org/examples/data/asset/data/airport-schedule.json
なんですが、これをバックエンドのC#から渡したいのです。
>>316はJSON構造の一部で、他に名前付きのデータも渡します。
なのでCSVはそぐわないかと思われます。
https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight
このデモ用のデータが
https://echarts.apache.org/examples/data/asset/data/airport-schedule.json
なんですが、これをバックエンドのC#から渡したいのです。
>>316はJSON構造の一部で、他に名前付きのデータも渡します。
なのでCSVはそぐわないかと思われます。
320デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/03(月) 16:42:23.19ID:JMA8ZT+Nd >>319
CSV一行分をjsonのValueとして持てばいいんだよ
CSV一行分をjsonのValueとして持てばいいんだよ
321デフォルトの名無しさん (ワッチョイ e22c-4nvB)
2022/01/03(月) 17:00:56.51ID:0xi3No7I0 var objs = new {
hoge = "hoge",
fuga = new object[] { 272, 1496922300000, "Y3913", true, "XA" },
};
var json = JsonConvert.SerializeObject(objs);
できない理由はないけどなんか他に条件とかありそうでアレだな
hoge = "hoge",
fuga = new object[] { 272, 1496922300000, "Y3913", true, "XA" },
};
var json = JsonConvert.SerializeObject(objs);
できない理由はないけどなんか他に条件とかありそうでアレだな
322デフォルトの名無しさん (ワッチョイ 6eda-iZeD)
2022/01/03(月) 18:09:00.90ID:lKbCt2OW0323デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/03(月) 18:12:39.51ID:TMV+x4l+0 var json =
結局何の型だよってイライラくるよね
結局何の型だよってイライラくるよね
324デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/03(月) 18:57:22.48ID:GjMIBEAT0 >>323
Visual Studioだとvarの上にカーソル持っていったら型が表示されるだろ
Visual Studioだとvarの上にカーソル持っていったら型が表示されるだろ
325デフォルトの名無しさん (ワッチョイ 4201-wcXw)
2022/01/03(月) 20:14:18.47ID:pwAwOJBp0 var: 無能発見機
326デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/03(月) 22:52:28.05ID:TMV+x4l+0 型が分からなくてもソースが読み書きできる人が羨ましいわ。
どういう脳の論理構造してるのだろう。分からないまま読み進めるとかイライラしないの?
昔、『菊次郎の夏』って映画見て、映画見ながら、だから菊次郎って誰だよ?って
最後までイライラして発狂しそうになったの思い出したわ。ほんと糞な脚本だと思ったわ。
どういう脳の論理構造してるのだろう。分からないまま読み進めるとかイライラしないの?
昔、『菊次郎の夏』って映画見て、映画見ながら、だから菊次郎って誰だよ?って
最後までイライラして発狂しそうになったの思い出したわ。ほんと糞な脚本だと思ったわ。
327デフォルトの名無しさん (ワッチョイ 2ee3-iZeD)
2022/01/03(月) 22:59:05.73ID:/qjDMXVn0 右辺見ろよ
328デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/03(月) 23:54:17.33ID:/ROio/0MM インテリセンスとAPIデザインが優秀って前提はあるだろうね
適当に.で繋げてけばなんとなくコードが出来上がる
間違ったらコンパイルエラーになる
だったらもうそれで型名は書かなくてもいいじゃない
型付スクリプト言語はその辺がまだまだ雑魚なんで型名をしっかり書かないと間違えるようにできてる
適当に.で繋げてけばなんとなくコードが出来上がる
間違ったらコンパイルエラーになる
だったらもうそれで型名は書かなくてもいいじゃない
型付スクリプト言語はその辺がまだまだ雑魚なんで型名をしっかり書かないと間違えるようにできてる
329デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/04(火) 00:14:59.85ID:fY9OVGa4a330デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/04(火) 00:16:29.87ID:2Grj8syS0 >>326
なんでvarの上にカーソル持って行かないの?
なんでvarの上にカーソル持って行かないの?
331デフォルトの名無しさん (スップ Sdc2-8yPh)
2022/01/04(火) 00:23:52.35ID:ufcanjsed332デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/04(火) 02:20:28.03ID:f9obKWjH0333デフォルトの名無しさん (ワッチョイ 4124-iMNY)
2022/01/04(火) 09:52:16.17ID:2gpItayR0 326はC#の話じゃなくてジャバスクとかの話してるんだろ
334デフォルトの名無しさん (ワッチョイ 31ae-GQgw)
2022/01/04(火) 10:52:36.05ID:+AHJD1dV0 inai inai var !
335デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/04(火) 11:04:23.12ID:Qpyz6D0Nd336デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/04(火) 11:48:21.13ID:Oz0E0ZFa0 型が分からないとほんとイライラくるよな。
今回の反応でスルーできる奴の脳みその構造がだいたい分かってきたわ。わかったつもりで何も分かってない。
ジャバスクの話だ!! そういうことか!!! ←こいつらの脳の構造はこれなんだよ。馬鹿かこいつら…
今回の反応でスルーできる奴の脳みその構造がだいたい分かってきたわ。わかったつもりで何も分かってない。
ジャバスクの話だ!! そういうことか!!! ←こいつらの脳の構造はこれなんだよ。馬鹿かこいつら…
337デフォルトの名無しさん (ワッチョイ 9d78-iZeD)
2022/01/04(火) 11:52:23.41ID:Hrzc5R7N0 >型が分からないとほんとイライラくるよな。
varは型が確定しています
イライラしているのはあなたがバカなだけ
varは型が確定しています
イライラしているのはあなたがバカなだけ
338デフォルトの名無しさん (ワッチョイ 8201-TJkF)
2022/01/04(火) 11:56:22.08ID:698Ta9DA0 >>337
“いつ”確定するの?
“いつ”確定するの?
339デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/04(火) 11:58:40.79ID:Oz0E0ZFa0 ジャバスクの話だ!!! varは型が確定している!!! ほんと馬鹿かこいつら…
340デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/04(火) 12:00:45.54ID:K01QBlyFd341デフォルトの名無しさん (ワッチョイ 2ee3-iZeD)
2022/01/04(火) 12:01:01.01ID:g8h7/5Pi0342デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/04(火) 12:07:12.39ID:kSsP1HEHa >>323見たときに
var json =
こうあったとき、デコード後のclassが入ってることあったり、json stringが入ってたり、varやjsonなんて型や変数名だとわけわかんねーよ!
って話かと思ったら全然違った。なんだこの流れ・・・
var json =
こうあったとき、デコード後のclassが入ってることあったり、json stringが入ってたり、varやjsonなんて型や変数名だとわけわかんねーよ!
って話かと思ったら全然違った。なんだこの流れ・・・
343デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/04(火) 12:11:24.66ID:Oz0E0ZFa0 これこれ。>>341 おれは一言もジャバスクなんて言ってないのにジャバスクの話にされて、
さらにはおれがジャバスクを後付したと妄信し、いきなり仕事したくないとかキチガイ妄想炸裂。
仕事先でこんなキチガイいたらガチで名誉毀損で訴えるわ。
これが型をスルーできる奴の脳の構造。リアルでアホだろ、こいつら…
さらにはおれがジャバスクを後付したと妄信し、いきなり仕事したくないとかキチガイ妄想炸裂。
仕事先でこんなキチガイいたらガチで名誉毀損で訴えるわ。
これが型をスルーできる奴の脳の構造。リアルでアホだろ、こいつら…
344デフォルトの名無しさん (ワッチョイ 9901-QLHw)
2022/01/04(火) 12:12:43.55ID:IgSyCTXi0 ※現在は削除されています
https://i.imgur.com/1WGlGRS.png
https://i.imgur.com/1WGlGRS.png
345デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/04(火) 12:14:13.14ID:K01QBlyFd >>343
TypeScriptおすすめ
TypeScriptおすすめ
346デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 12:23:30.92ID:CklunmhzM TypeScriptは型ヒント付きスクリプト言語にはよくあることだけど型が嘘をつけるので積極的に使わない方がいい
「型がついてるから安心だ」と思っていたら実行時に違う型の値が入っていることがよくある
なんなら生のJavaScriptの方が「型がないから全ての変数が信用できない」という前提に立てる分まだマシまである
「型がついてるから安心だ」と思っていたら実行時に違う型の値が入っていることがよくある
なんなら生のJavaScriptの方が「型がないから全ての変数が信用できない」という前提に立てる分まだマシまである
347デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/04(火) 12:29:36.62ID:K01QBlyFd >>346
それ言い出すとC++もreinterpret_cast多用で型の嘘つけるからなあ
それ言い出すとC++もreinterpret_cast多用で型の嘘つけるからなあ
348デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 12:42:28.79ID:rprq1MIMM >>347
まさにそれだね
cppは名前付きのキャストを使い分ける習慣が広まってるから状況は多少、マシ
TSにはanyとかいう負の遺産がある
それにJSはそれ自身ではできることが少ない言語なのでインフラapiコールに頼りがちだ
そこでanyを使いたくなくても多用するのでとにかく間違えやすい
自分がうっかり間違える可能性
チームメンバーが間違える可能性
ライブラリ作者が間違える可能性
とにかく間違いが起こりやすい
なのでTypeScriptは使わないほいがいい
まさにそれだね
cppは名前付きのキャストを使い分ける習慣が広まってるから状況は多少、マシ
TSにはanyとかいう負の遺産がある
それにJSはそれ自身ではできることが少ない言語なのでインフラapiコールに頼りがちだ
そこでanyを使いたくなくても多用するのでとにかく間違えやすい
自分がうっかり間違える可能性
チームメンバーが間違える可能性
ライブラリ作者が間違える可能性
とにかく間違いが起こりやすい
なのでTypeScriptは使わないほいがいい
349デフォルトの名無しさん (ワッチョイ 2eb0-IeG5)
2022/01/04(火) 12:53:18.36ID:rkCZbU1/0 ・間違ったコールバックの型付け
・間違ったasの使用
・間違った.d.tsの使用
・間違ったユーザー定義タイプガード
TypeScriptで肩を間違える可能性があるのはこんなところかね。
まぁ、自分で使いこなせないものを使わない方がいいってのはその通りだが、
他人も同じように使いこなせないわけじゃないしな。
・間違ったasの使用
・間違った.d.tsの使用
・間違ったユーザー定義タイプガード
TypeScriptで肩を間違える可能性があるのはこんなところかね。
まぁ、自分で使いこなせないものを使わない方がいいってのはその通りだが、
他人も同じように使いこなせないわけじゃないしな。
350デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 13:23:06.07ID:b15zgk0OM >>349
間違える余地が在ることが問題
特定の個人が使いこなせるこなせないという低次元な議論じゃない
型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い
その検証のために心労とコストが増えて
そして実際にバグが増える
C#では例えば「DateTimeと書いた変数に実際にはstringが入っているかもしれない」などと考えてコーディングする人は誰もいない
C#ではよほどのことがなければ基本的に型が嘘をつかないからそれで上手くいく
DateTimeと書かれたらそれはDateTimeであってstringであることを考慮する必要はない
しかしTypeScriptは違う
型は平気で嘘をつく
Date型と書いた変数が実際は文字列だろうが数値だろうがお構いなしだ
TypeScriptでは型が嘘をついていないことを確かめるには
その型が嘘をついている可能性があるという前提でバリデーションを追加するか
依存してるライブラリの内部の隅々までソースを追いかけるか
そういった対策をしなければならない
それはあまりにも非生産的だ
間違える余地が在ることが問題
特定の個人が使いこなせるこなせないという低次元な議論じゃない
型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い
その検証のために心労とコストが増えて
そして実際にバグが増える
C#では例えば「DateTimeと書いた変数に実際にはstringが入っているかもしれない」などと考えてコーディングする人は誰もいない
C#ではよほどのことがなければ基本的に型が嘘をつかないからそれで上手くいく
DateTimeと書かれたらそれはDateTimeであってstringであることを考慮する必要はない
しかしTypeScriptは違う
型は平気で嘘をつく
Date型と書いた変数が実際は文字列だろうが数値だろうがお構いなしだ
TypeScriptでは型が嘘をついていないことを確かめるには
その型が嘘をついている可能性があるという前提でバリデーションを追加するか
依存してるライブラリの内部の隅々までソースを追いかけるか
そういった対策をしなければならない
それはあまりにも非生産的だ
351デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 13:31:23.12ID:b15zgk0OM function ExternalLibFunc(): string
function example() {
const s: string = ExternalLibFunc();
if (typeof s === “string”)
throw new Error(“type errro”);
// do something
}
これが安全なTypeScriptコード
stringと宣言されたものを本当にstringかどうか確かめなければならない
この確認はバカバカしいと思うがやらなければバグを踏む可能性がある
でも全てを確認するなんて大変だ
だからみんな確認を怠る
そして実際にバグが発生する
そういう言語なんだTypeScriptってのは
function example() {
const s: string = ExternalLibFunc();
if (typeof s === “string”)
throw new Error(“type errro”);
// do something
}
これが安全なTypeScriptコード
stringと宣言されたものを本当にstringかどうか確かめなければならない
この確認はバカバカしいと思うがやらなければバグを踏む可能性がある
でも全てを確認するなんて大変だ
だからみんな確認を怠る
そして実際にバグが発生する
そういう言語なんだTypeScriptってのは
352デフォルトの名無しさん (ワッチョイ dd5f-lZmz)
2022/01/04(火) 14:02:28.93ID:4jDgn5Qw0 Form1csにイベントがたくさんあるので行数が多くなってしまうのですが
部品ごとにファイルを分けてコードを書く方法を教えてください
部品ごとにファイルを分けてコードを書く方法を教えてください
353デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/04(火) 15:10:27.49ID:v2mo/5h3a >>352
メニューやツールバーみたいのがあったら
イベントハンドラの数が増えること自体は仕方ない。
行数が増えて困ることは目的の場所を探しにくくなることだから、
対策は#regionディレクティブをうまく使って分類することぐらい
メニューやツールバーみたいのがあったら
イベントハンドラの数が増えること自体は仕方ない。
行数が増えて困ることは目的の場所を探しにくくなることだから、
対策は#regionディレクティブをうまく使って分類することぐらい
354デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/04(火) 15:15:26.98ID:2Grj8syS0 >>352
partial class
partial class
355デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 15:40:55.02ID:y9M4FwJ2M >>352
void HogeEvent(object s, EventArgs e) {
//長いコード
}
↑これを
↓こうする
void HogeEvent(object s, EventArgs e) {
_hoge.DoSomething();
}
class Hoge {
public DoSomething() {
// 長いコード
}
}
void HogeEvent(object s, EventArgs e) {
//長いコード
}
↑これを
↓こうする
void HogeEvent(object s, EventArgs e) {
_hoge.DoSomething();
}
class Hoge {
public DoSomething() {
// 長いコード
}
}
356デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/04(火) 16:14:54.64ID:3sRZKpnOa >>350
そうは言ってもc#だってobjectや継承あるからな・・・
そうは言ってもc#だってobjectや継承あるからな・・・
357デフォルトの名無しさん (テテンテンテン MM26-rbeQ)
2022/01/04(火) 17:04:00.85ID:BWSRqAyGM358デフォルトの名無しさん (ワッチョイ 49b0-zYQh)
2022/01/04(火) 17:29:19.72ID:XgG7cDH40 なんだ動的型付け言語が嫌いなだけか
359デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 17:41:00.66ID:h9ISFI6AM >>356
全く意味合いが異なる
全く意味合いが異なる
360デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 17:42:21.35ID:h9ISFI6AM >>357
本来バリデーションが必要がないところでバリデーションが必要になることが大問題
本来バリデーションが必要がないところでバリデーションが必要になることが大問題
361デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/04(火) 18:00:52.01ID:v2mo/5h3a それはバリデーションじゃなくてバグのチェックだねw
362デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 18:24:36.74ID:h9ISFI6AM そだね
TypeScriptdではそういうことも必要になってくる
言語上の欠陥なんだけどランタイムがJSだから永遠に解決しないだろうなこれ
TypeScriptdではそういうことも必要になってくる
言語上の欠陥なんだけどランタイムがJSだから永遠に解決しないだろうなこれ
363デフォルトの名無しさん (ワッチョイ 2eb0-IeG5)
2022/01/04(火) 18:24:37.24ID:rkCZbU1/0 >間違える余地が在ることが問題
完全無欠な言語以外は認められないと?
>型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い
どういう場合にそのようなことが起きるかがわかってないんだろうね。結局使いこなしの問題。
完全無欠な言語以外は認められないと?
>型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い
どういう場合にそのようなことが起きるかがわかってないんだろうね。結局使いこなしの問題。
364デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 18:27:22.35ID:h9ISFI6AM >>363
完全無欠な言語しか使わないとまでは言わない
ただ大きな欠陥のある言語は使いたくない
感覚としてはその程度だね
どういう場合に起こるか?
それはあらゆる場面で起こりうる
ライブラリすら信用できない
完全無欠な言語しか使わないとまでは言わない
ただ大きな欠陥のある言語は使いたくない
感覚としてはその程度だね
どういう場合に起こるか?
それはあらゆる場面で起こりうる
ライブラリすら信用できない
365デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/04(火) 20:53:29.42ID:f9obKWjH0366デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/04(火) 20:55:06.78ID:f9obKWjH0367デフォルトの名無しさん (アウアウウー Saa5-zIXK)
2022/01/04(火) 21:33:12.76ID:e29mAngZa formsのchartを使ってるんだけど、20系列くらいを100ms以下でリアルタイム更新って厳しいのかな
色々試したけど更新にどうしても時間がかかる。。
色々試したけど更新にどうしても時間がかかる。。
368デフォルトの名無しさん (ワッチョイ 6187-F0I3)
2022/01/04(火) 21:37:51.18ID:I8DXoUzs0369デフォルトの名無しさん (ワッチョイ 2eb0-IeG5)
2022/01/04(火) 21:44:14.34ID:rkCZbU1/0 >>364
Cのポインタだって使い方を間違えたら正しい型を示さないことになるし、C自身も安全でない言語と見做される
こともあるが、それを分かったうえで正しく使う人はいるし実際広く使われている。そういうこと。
Cのポインタだって使い方を間違えたら正しい型を示さないことになるし、C自身も安全でない言語と見做される
こともあるが、それを分かったうえで正しく使う人はいるし実際広く使われている。そういうこと。
370デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/04(火) 21:58:28.71ID:f9obKWjH0 >>368
外部のAPIで1899年以前を扱いうる場合。
外部のAPIで1899年以前を扱いうる場合。
371デフォルトの名無しさん (ワッチョイ e22c-4nvB)
2022/01/04(火) 22:45:31.35ID:mTPUUbcD0 >>367
サードパーティ製のチャートを探すことをお勧め
詳しくないから具体的な名前は特に挙げられないけど
とりあえずScottPlotって名前を最近見かけたので試してみては
しかし20系列もあると読みづらそうだな
サードパーティ製のチャートを探すことをお勧め
詳しくないから具体的な名前は特に挙げられないけど
とりあえずScottPlotって名前を最近見かけたので試してみては
しかし20系列もあると読みづらそうだな
372デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/04(火) 22:57:39.12ID:xZMfmUxua >>367
ただの折れ線グラフとかでビジュアル的に凝る必要がなければ
UserConrolから自分で作った方が早いかもね。
昔散々そういうのやってたけど、やってみると案外簡単だ。
WPFを選択するとパフォーマンス問題にぶち当たるから注意。
ただの折れ線グラフとかでビジュアル的に凝る必要がなければ
UserConrolから自分で作った方が早いかもね。
昔散々そういうのやってたけど、やってみると案外簡単だ。
WPFを選択するとパフォーマンス問題にぶち当たるから注意。
373デフォルトの名無しさん (ワッチョイ 49b3-Fu3+)
2022/01/04(火) 23:04:51.13ID:hJBi5qqI0 おすすめ本あります?
アマゾンで独習を見たのですが第4版は不評、第3版おすすめとなってたんですが
2010年出版っというのが引っかかっているので他を探しています。
スキルはPythonでPyGameのサンプルを打ち込みつつ、解説を見て勉強してるレベルです。
その他言語の経験はなし!
アマゾンで独習を見たのですが第4版は不評、第3版おすすめとなってたんですが
2010年出版っというのが引っかかっているので他を探しています。
スキルはPythonでPyGameのサンプルを打ち込みつつ、解説を見て勉強してるレベルです。
その他言語の経験はなし!
374デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 23:13:01.18ID:0nFT+Tq8M >>365
違う
本来バリデーションは必要ないのにTSでは(というか型がゆるゆるのスクリプト言語全般だが)余計なバリデーションが必要ということ
string x = func();
と書いた時にC#ではxが本当に文字列であることを検証する必要はない
nullになっていないか、文字列が特定の書式を満たしているか、といった心配はあるだろう
しかし、xにintが入ってる可能性は考慮する必要はない
TSではxにnumberが入っているかも、という可能性を考慮しなければならない
これが本来やらなくていいはずのバリデーションだ
これは型が嘘をつくから起こりうること
TSの代表的な欠陥の1つだ
違う
本来バリデーションは必要ないのにTSでは(というか型がゆるゆるのスクリプト言語全般だが)余計なバリデーションが必要ということ
string x = func();
と書いた時にC#ではxが本当に文字列であることを検証する必要はない
nullになっていないか、文字列が特定の書式を満たしているか、といった心配はあるだろう
しかし、xにintが入ってる可能性は考慮する必要はない
TSではxにnumberが入っているかも、という可能性を考慮しなければならない
これが本来やらなくていいはずのバリデーションだ
これは型が嘘をつくから起こりうること
TSの代表的な欠陥の1つだ
375デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 23:14:48.44ID:0nFT+Tq8M376デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/04(火) 23:19:57.46ID:Oz0E0ZFa0 var x = func();
var y = x.func();
型が分からないとイライラくるよね。
スルーできる奴の脳みそってそれをすべて妄想で埋めてることが社会実験で実証された。
var y = x.func();
型が分からないとイライラくるよね。
スルーできる奴の脳みそってそれをすべて妄想で埋めてることが社会実験で実証された。
377デフォルトの名無しさん (ワッチョイ 2eb0-IeG5)
2022/01/04(火) 23:20:34.56ID:rkCZbU1/0 >型が嘘をつく
この言い回しをよっぽど気に入っているようだけどw当然TypeScriptが勝手に嘘をつくわけはなくて、
嘘をつかせたのはそれを使うプログラマ自身だわな
この言い回しをよっぽど気に入っているようだけどw当然TypeScriptが勝手に嘘をつくわけはなくて、
嘘をつかせたのはそれを使うプログラマ自身だわな
378デフォルトの名無しさん (ワッチョイ 9d78-iZeD)
2022/01/04(火) 23:24:23.97ID:Hrzc5R7N0 >>376
それはメソッド名が糞なだけだよ
それはメソッド名が糞なだけだよ
379デフォルトの名無しさん (スフッ Sd62-XkW2)
2022/01/04(火) 23:30:10.65ID:r+SDF27Td わざわざ宣言した行まで戻って型確認するのか
380デフォルトの名無しさん (ワッチョイ 426a-M3Pq)
2022/01/04(火) 23:30:19.98ID:QHt6N4Fh0 相変わらずコードが読めてもテンプレ読めない人が多いな
381デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 23:36:38.21ID:0nFT+Tq8M >>377
TSが勝手に嘘をつくことはないがC#と比べて嘘をつかせるように導くのに長けている
プログラマは世界中に沢山いてTSを使うと漏れなくその脅威に晒される
また彼らが作成したライブラリにも嘘が潜んでいるかもしれない
TSが勝手に嘘をつくことはないがC#と比べて嘘をつかせるように導くのに長けている
プログラマは世界中に沢山いてTSを使うと漏れなくその脅威に晒される
また彼らが作成したライブラリにも嘘が潜んでいるかもしれない
382デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/04(火) 23:58:26.60ID:f9obKWjH0 >>374
違わないよ。
全てTSの中であればNumberであることが担保されているのは、全てC#の中である場合と同程度に正しい。
C#の場合でも信頼境界を越えるのであればその可能性は考慮しないといけないし、TSの場合でも信頼境界を越えないのであれば気にする必要は無い。
ましてやTSというかJSはシングルスレッドなので別スレッドに壊される事も無い。
違わないよ。
全てTSの中であればNumberであることが担保されているのは、全てC#の中である場合と同程度に正しい。
C#の場合でも信頼境界を越えるのであればその可能性は考慮しないといけないし、TSの場合でも信頼境界を越えないのであれば気にする必要は無い。
ましてやTSというかJSはシングルスレッドなので別スレッドに壊される事も無い。
383デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/05(水) 00:01:01.66ID:fuEg19Cq0384デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 00:50:54.28ID:JsfvM5KJM >>382
全てTSでも型が保証されない
最も簡単な事例は
const x: string = 100 as any
もちろんこんなコードを書く人はいないが
複雑で膨大なアプリケーションコードを扱うプロジェクトのなかで誰一人としてミスをしないかというと
そんな保証は全くなく型に嘘をつかれることになるだろう
全てTSでも型が保証されない
最も簡単な事例は
const x: string = 100 as any
もちろんこんなコードを書く人はいないが
複雑で膨大なアプリケーションコードを扱うプロジェクトのなかで誰一人としてミスをしないかというと
そんな保証は全くなく型に嘘をつかれることになるだろう
385デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 00:51:02.44ID:JsfvM5KJM >>383
ブーメラン
ブーメラン
386デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/05(水) 00:56:20.83ID:fuEg19Cq0 >>384
それはC#でも同じでしょ。
それはC#でも同じでしょ。
387デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 00:59:38.17ID:JsfvM5KJM C#ではI/Oが生じる場合にも型が嘘をつくことはない
例えばこうだ
int x = Parse<int>(inputStream);
パースエラーにより実行時に例外が発生することはある
それはどの言語でも起こりうることだ
しかし、依然としてxにstringが入ったり、DateTimeが入ったり、という、TSでは普通にあり得る悍ましい挙動を示すことは無いのだ
なぜならC#はTSと違って型が嘘をつかないから
C#の型は信頼できる
TSの型は嘘つきで信頼できない
例えばこうだ
int x = Parse<int>(inputStream);
パースエラーにより実行時に例外が発生することはある
それはどの言語でも起こりうることだ
しかし、依然としてxにstringが入ったり、DateTimeが入ったり、という、TSでは普通にあり得る悍ましい挙動を示すことは無いのだ
なぜならC#はTSと違って型が嘘をつかないから
C#の型は信頼できる
TSの型は嘘つきで信頼できない
388デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/05(水) 01:00:08.39ID:fuEg19Cq0389デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/05(水) 01:00:59.54ID:fuEg19Cq0 >>387
じゃあTSはどうしてxにStringやなにがしかが入るの?どこで入れてんのよ?w
じゃあTSはどうしてxにStringやなにがしかが入るの?どこで入れてんのよ?w
390デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 01:10:21.43ID:JsfvM5KJM >>386
全く異なる
C#ではdynamic、リフレクション、コード生成を使えばコンパイラの検証を回避して、間違った型の変数に値を設定できる
しかし、C#でこれをやると実行時にエラーになるのだ
TSで何事もなく処理が進むのとは、全く趣が異なる
そう、TSではstringと指定した筈の変数にnumberやDateの変数が入ったまま、何事もなく進んでしまうのだ
これは本当に恐ろしい挙動だ
つまり、バグを仕込んだところから、しばらく処理が進んだところで被害が顕現する、ということだ
これはまるで、潜伏期間の長いコロナウイルスのように厄介な特性だ
この挙動はC言語などではよくあるものだったが、原因と結果が離れているのでデバッグがしにくい、とのことで先人達は大いに苦しめられたものだ
まがりなりにも後発の言語であるTSが、大昔の言語設計と同じ失敗を繰り返しているのは残念でならない
全く異なる
C#ではdynamic、リフレクション、コード生成を使えばコンパイラの検証を回避して、間違った型の変数に値を設定できる
しかし、C#でこれをやると実行時にエラーになるのだ
TSで何事もなく処理が進むのとは、全く趣が異なる
そう、TSではstringと指定した筈の変数にnumberやDateの変数が入ったまま、何事もなく進んでしまうのだ
これは本当に恐ろしい挙動だ
つまり、バグを仕込んだところから、しばらく処理が進んだところで被害が顕現する、ということだ
これはまるで、潜伏期間の長いコロナウイルスのように厄介な特性だ
この挙動はC言語などではよくあるものだったが、原因と結果が離れているのでデバッグがしにくい、とのことで先人達は大いに苦しめられたものだ
まがりなりにも後発の言語であるTSが、大昔の言語設計と同じ失敗を繰り返しているのは残念でならない
391デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 01:17:22.12ID:JsfvM5KJM >>388
低レベルなメモリアクセスでランタイムを破壊できるのはどの言語でも当たり前のことだろう
TSのように低レベルメモリアクセスでもなんでもない、ただの代入で型安全を破壊できるようなものと同列に扱うべきではない
低レベルなメモリアクセスでランタイムを破壊できるのはどの言語でも当たり前のことだろう
TSのように低レベルメモリアクセスでもなんでもない、ただの代入で型安全を破壊できるようなものと同列に扱うべきではない
392デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 01:19:07.95ID:JsfvM5KJM393デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/05(水) 01:46:29.20ID:lnjYKBBj0 >>379
varの上にマウスカーソル合わせてツールチップに表示される型を見るだけ
varの上にマウスカーソル合わせてツールチップに表示される型を見るだけ
394デフォルトの名無しさん (ワッチョイ 2eb0-IeG5)
2022/01/05(水) 07:33:07.78ID:OXnyWrYu0395デフォルトの名無しさん (ワッチョイ 8101-ooUO)
2022/01/05(水) 07:38:49.44ID:t5pkfnoc0 JSなんて使いたくて使ってるやつはいないって事だよ
ほかに選択肢がないから仕方なく使ってるだけで
そもそも本来TSのようなトランスパイラはこの世に存在し得ない存在
ほかに選択肢がないから仕方なく使ってるだけで
そもそも本来TSのようなトランスパイラはこの世に存在し得ない存在
396デフォルトの名無しさん (ワッチョイ d1ac-Loja)
2022/01/05(水) 09:23:21.76ID:bvaGXVet0 なんでc#スレで一生懸命TSの悪口言ってるの?
397デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/05(水) 09:53:21.58ID:SNzZltS0M 欠陥指摘できる俺すげー君だろw
スルーしとけ
スルーしとけ
398デフォルトの名無しさん (エアペラ SD2d-miAB)
2022/01/05(水) 09:57:56.22ID:5ORhcVX2D WinFormのlistViewをタブレットで使いたいのですがlist部分を指で上下してlistをスクロールする事は出来るでしょうか
スクロールバーで上下出来るのですがスマホのように出来ないかなと
スクロールバーで上下出来るのですがスマホのように出来ないかなと
399デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 10:15:33.57ID:Zzh6nSy3M >>394
挙げられたリストでは全く足りない
こういう認識の甘さがバグを仕込むキッカケになるのだろう
そもそも人間は間違える余地があれば、いつか必ず間違える
注意してれば大丈夫、などという考え方では到底ダメだ
挙げられたリストでは全く足りない
こういう認識の甘さがバグを仕込むキッカケになるのだろう
そもそも人間は間違える余地があれば、いつか必ず間違える
注意してれば大丈夫、などという考え方では到底ダメだ
400デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 10:17:21.15ID:Zzh6nSy3M401デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/05(水) 10:34:58.47ID:TbL+VltAd TypeScriptなしではJS開発やってられなくなってしまったな
特にチーム開発
特にチーム開発
402デフォルトの名無しさん (ワッチョイ e22c-4nvB)
2022/01/05(水) 11:00:24.24ID:dUhlmVC50403デフォルトの名無しさん (ササクッテロリ Spf1-Wb4d)
2022/01/05(水) 11:06:50.05ID:llHLsWPPp >>400
おまえは相手がうんと言うまでスレチ議論続けるつもりか
おまえは相手がうんと言うまでスレチ議論続けるつもりか
404デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/05(水) 11:43:03.34ID:93Qk8F8ua 例えばリストビューを作るときにアイテムのTagに日時を代入しとく
そうしたら選択したアイテムの日時がすぐにわかるから。こんなのはよくやる手法だよね
で、実際にアイテムがクリックされたときにTagを読んで日時を取得しようとしたらstringだったりDateTimeだったりして型エラー。バリデーションwが必要になる
こんなの(アホがプログラミングしたら)c#でも日常茶飯事だからな
tsでも同じ。アホがプログラミングしたらバリデーションwは必須だし、普通にプログラミングしたら不要
そうしたら選択したアイテムの日時がすぐにわかるから。こんなのはよくやる手法だよね
で、実際にアイテムがクリックされたときにTagを読んで日時を取得しようとしたらstringだったりDateTimeだったりして型エラー。バリデーションwが必要になる
こんなの(アホがプログラミングしたら)c#でも日常茶飯事だからな
tsでも同じ。アホがプログラミングしたらバリデーションwは必須だし、普通にプログラミングしたら不要
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 立民・岡田氏の質疑「不適切」 維新・藤田氏、台湾有事答弁巡り [蚤の市★]
