X



ふらっと C#,C♯,C#(初心者用) Part138
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 369a-msj4)
垢版 |
2018/06/05(火) 19:32:42.28ID:70UTtyrn0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part137
https://mevius.5ch.net/test/read.cgi/tech/1523004019/
■コードを貼る場合は↓を使いましょう。
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
0952デフォルトの名無しさん (ワッチョイ 3383-0Uuo)
垢版 |
2018/08/02(木) 19:59:47.82ID:R3xyuwRy0
しかし、今時、30年前の手法でやりましょうって笑えるよな。開発の歴史を全く知らないのだろうか。
それが今の流行ならWindows10やC#も流行ってるはず。だが見向きもされない。むしろ敬遠されてる。
0954デフォルトの名無しさん (ワッチョイ 3383-0Uuo)
垢版 |
2018/08/02(木) 20:03:34.69ID:R3xyuwRy0
>>951
はぁ? むしろボーランドこそ革新的なIDEを普及させたんじゃねーか。そんなことも知らないとか無知すぎる。
それがなんでまたGUIは邪魔なんでテキストでやりましょうってw アホですか。どうせエディタもvim設定なんだろ。

時代遅れの骨董品どもが。
0955デフォルトの名無しさん (ワッチョイ cfe8-Xflc)
垢版 |
2018/08/02(木) 20:03:36.14ID:L2LG0yaW0
え、わからない
VBとC#どっちがいいの?
0960デフォルトの名無しさん (ワッチョイ 3383-0Uuo)
垢版 |
2018/08/02(木) 20:11:37.17ID:R3xyuwRy0
煽りしかしない奴ってなんで内容ないレスばかりするんだろうと思ったんだけど、
キーボードアレルギーか何かで入力がめっちゃ遅いんだと思うわ。
おれが5レスする間に一行しか打てないトロ臭さ。

リアル低スキルじゃん。今まで碌にコード書いてないのがバレバレだな。
0963デフォルトの名無しさん (ワッチョイ cf80-F72M)
垢版 |
2018/08/02(木) 21:55:18.44ID:6w1GWseD0
>>934
OleDbじゃシート順は無視されるから他の手立てを考える必要がある
https://stackoverflow.com/questions/1164698/using-excel-oledb-to-get-sheet-names-in-sheet-order
xlsxならここのZipArchive使うのとか(他に色々書かれてるコードは意味ないから無視して良い)
System.IO.Compress.PackagingとかOpen Xml SDKとかClosedXMLとか
xlsならNPOIぐらいなんかね あ、上のページにNPOIのサンプルもある
0964デフォルトの名無しさん (スププ Sd1f-ON65)
垢版 |
2018/08/03(金) 08:51:02.00ID:tLm3HHgqd
まあVSつかいたい奴は明らかにVSが向いてないシーンでも使いたがるからな。
俺も使い分けてるが、netcoreでも案外VS起動する事の方が多い。nuget探しやすいとかそんなレベルだけど。
どっちでも良いものは割とVS Codeで開くな。
とはいえ、mdのライブプレビューとかVSで出来んのかな?
0965デフォルトの名無しさん (ササクッテロ Spc7-pHBK)
垢版 |
2018/08/03(金) 11:29:34.10ID:am/wpoGlp
VSはIDEの機能を利用したいが為だけに使うことがある。
0968デフォルトの名無しさん (ワッチョイ cfe8-Xflc)
垢版 |
2018/08/03(金) 19:55:03.42ID:nRWExeYy0
C#よりVBのが人気って本当ですか?
0970デフォルトの名無しさん (ワッチョイ 6f9e-QB3m)
垢版 |
2018/08/03(金) 22:34:44.79ID:pBzQtwq10
if(aaa.bbb.ccc ==null){
 ・・・
}
だと、aaaかaaa.bbbがnullの時にNUll参照エラー出ますよね。
じゃあ、
if(aaa!=null && aaa.bbb!=null && aaa.bbb.ccc ==null){
こう書くしかないですか?
もっとスッキリ書けませんか?
0972デフォルトの名無しさん (ワッチョイ b3e3-HuCS)
垢版 |
2018/08/03(金) 22:43:12.49ID:ls6gmcCr0
>>970
なんか下のコードって
動いたら不具合臭くない?

if(コードA && コードB && コードC)

ってあったときにコードAがfalseだからってコードCが実行されないとおかしくなる処理もあるんじゃね?
コードABCがそれぞれ結果を保持するような動作をするときもにょる

言語仕様がどうなってようと書いたやつは死刑
0973デフォルトの名無しさん (ワッチョイ ffa6-F9eT)
垢版 |
2018/08/03(金) 22:57:30.21ID:5FtEqA870
>>972
横からですが
> ってあったときにコードAがfalseだからってコードCが実行されないとおかしくなる処理もあるんじゃね?
そういう場合は && ではなく & を使うと良いようです。
よかったら「短絡評価」で検索してみてください。
0976デフォルトの名無しさん (ワッチョイ ffa6-F9eT)
垢版 |
2018/08/03(金) 23:59:44.06ID:5FtEqA870
>>975
>>973
確かにその場合は短絡評価は余計なお世話と言うか、短絡評価を使うことは間違ってますね。
ただ、>>970 の例では副作用がないのは明らかですし、
C# で短絡評価が用意されている以上、それを使うなというのは酷な話のようにも思います。

今回の問題に関しては >>974 のような & も && も使わない解決策もありますが、
Microsoft の Reference Source でも obj != null && ((int)obj) != 0 のように
短絡評価が積極的に使われてますので、そのようなコードは認められるべきではないでしょうか。
0978デフォルトの名無しさん (ワッチョイ cf81-TkmH)
垢版 |
2018/08/04(土) 00:53:29.00ID:b3FMlOEa0
なんかnull条件演算子が短絡じゃないような言い方をしている人がいますが
null条件演算子は短絡評価なので念のため

仕様の是非については関知しません
勝手にすればよろしい
0979デフォルトの名無しさん (ワッチョイ 6f9e-QB3m)
垢版 |
2018/08/04(土) 09:01:55.83ID:n5GHf3Ra0
>>974
もし
aaa.bbb= null
だった場合に、
if(aaa?.bbb?. ccc == null)
がtrueになることは無いですか?
0986デフォルトの名無しさん (ブーイモ MM67-Eno9)
垢版 |
2018/08/04(土) 10:46:26.16ID:Q3NLupVYM
?.は使える場面が限られすぎてるんだよな
主語が違っても使えるようにしてほしい
employee ?& company.Fire(employee)
// employee != null ? company.Fire(employee) : null と等価
みたいな
0987デフォルトの名無しさん (ワッチョイ ffb3-6jVY)
垢版 |
2018/08/04(土) 12:29:39.69ID:AH7fLvgn0
>>984
> Null 条件演算子の結果でnull判定ってなんか使い方おかしくね?
そんなもん何をやりたいかによるだろ

> null判定の記述省略が目的だと思ってたわ
Null条件演算子自体の目的はそれでいいと思うが
0988デフォルトの名無しさん (ワッチョイ 6f9e-QB3m)
垢版 |
2018/08/04(土) 12:36:27.73ID:n5GHf3Ra0
>>986
>employee ?& company.Fire(employee)

?& とは何ですか?
ググルキーワード教えて下さい。
0992デフォルトの名無しさん (ワッチョイ 639a-7JJt)
垢版 |
2018/08/05(日) 17:47:48.87ID:76QdhMr90
どうでもいいことになるとレスが増えるな
>>980
テンプレ読んでいるだろ。スレたて
0996デフォルトの名無しさん (ワッチョイ b38d-0Uuo)
垢版 |
2018/08/05(日) 19:30:23.50ID:yb/HDiEo0
コンソールプログラミングでは
Application.DoEventsが使えませんが
代わりに処理中の入力を受け付けるようなメソッドはないでしょうか?

時間がかかる処理をESCキーでキャンセルするような処理を
コンソールプログラムで書きたいと思っています
0997デフォルトの名無しさん (ブーイモ MM67-Eno9)
垢版 |
2018/08/05(日) 19:30:55.99ID:uVIrroLRM
こうかな
// nullが見つかった深さを返す
static int? AmazingNullCheck(int level, dynamic obj, params Func<dynamic, dynamic>[] next) =>
 obj == null ? level : next.FirstOrDefault()?.Invoke(level + 1, obj, next.Skip(1).ToArray());

if (AmazingNullCheck(0, a, a=>a.b, b=>b.c) == 2)
 // a.b.c == null
0998997 (ブーイモ MM67-Eno9)
垢版 |
2018/08/05(日) 19:37:00.55ID:uVIrroLRM
訂正
obj == null ? level : !next.Any() ? null : AmazingNullCheck(level + 1, next.First().Invoke(obj), next.Skip(1).ToArray());
かな
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 61日 0時間 13分 9秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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