ふらっと C#,C♯,C#(初心者用) Part138
レス数が950を超えています。1000を超えると書き込みができなくなります。
「どんなにくだらない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 TypeDescriptorで動的属性にしたけどダメだった
このFWカスタムしにくい VB6のプログラムをC♯で書き直しをやってるんですが、複数あるフォームで毎度使うグローバル変数や定数ってどうしたら良いですか? それらを管理する構造体かクラスを作るのが良いでしょう
ただ、作り始める前に現代風のプログラミングの仕組みを勉強したほうが良いんじゃないかな
変数のスコープの問題として解決しようとする時点で基礎が出来ていない気がしてしまう >>872
属性二つ付けとくのでダメなのか?
>>881.882
ベタに移植するならなるべく同じようにしとくってのも手だぞ
まあベタ移植ならVB.NETでもいいわけだが >>881
もう親フォームのpublicに置いちゃえば? 親フォームにpublicに置くのがベターなのかね?楽でいいし。 普通は目的や用途に分けてベースクラスと機能クラスに分けて配置するだろ。 定数はクラスに持たせるべき
グローバル変数というものは存在しない public static read onlyをまとめたクラス1個作ればよくね? 標準モジュール→Public Shared Class >>881
そんなものは無くすように書き直すのがベストでしょう
どうしてもというのならProgramにでも置く。
お勧めはしないけど、using static使えばVB6っぽく書けると思うw
https://ufcpp.net/study/csharp/ap_ver6.html#using-static 例えば何度も登場するファイル名とかパス名とかって使う時はどのようにします? >>894
決まった値ならconst stringにしておけば間違う心配がない >>894
そもそも何度も登場させない
クラスに集約する >>897
俺は何度も登場させた方がいい派
登場させないってことは定数であるにも関わらず変数に突っ込んで色んなとこ回して最後にそこに行き着く的なソースになんだろ?
定数なら検索したときに使用箇所がひと目でわかったほうがいいよ >>898
そうじゃない
同じファイルをあちこちで突っつき回す設計そのものに再考の余地があるということ クラス内で何度も参照する事はあるだろうが、複数のクラスに跨って同じ定数を参照するってのは、
それ、たまたま同じなだけだから、まとめるのは誤りだろ? 899に同意だな。おれがレビューしたら書き直させるわ。 エクセルをデータベース接続して開いて閉じる。までは出来たのですがそこからシート2を選択して最終行まで読み込むにはどうしたら良いですか? まずVBAで書いて、意図どおりに動いたらそれを同じようにC#で書くだけ
VBAで動かないならスレ違い >>902
接続したならシート名をテーブル名としてSELECT使えば最終行まで取れるはず とりあえずガチでまったくわからないなら、Do Until とかIf Thenみたいな処理の流れに関するとこから、C#に翻訳してみれ。 >>906
SharpDevelopで変換できたりせんか? >>911
VB.netならやったことある
VB6はできるんかな? >>912
VB6から直接はだめだろうな。VB.netを経由させて。 無事なんとか出来ました。
お騒がせしてすみません。 VBを勉強しようかC#を勉強しようか迷ってるんですがVB(およびVBA)でできることはC#でもできると考えていいのでしょうか? >>916
そんなのお前が出来るか、出来ないかによる unityでサポートされてるのがc#だった気がする >>916
VBextensionを取り込む事が出来る
コーディング量が少ない
単価が高い
VBを選ぶ理由はほぼ無しかと ありがとうございます
迷わずC#を勉強しようと思います VS2013 で Process で別コンソールアプリを実行するプログラムを作っています。
OutputDataReceivedイベントで随時標準出力を取得したいのですがうまくいきません。
同じくVS2013C#で作ったコンソールアプリでのConsole.WriteLineならうまくいくのですが
VC++6.0 で printf 出力だと、ある程度溜まったタイミングでそれまでの出力が一気に来ます。
printfでもリアルタイムで取得できるようにできないでしょうか。 そりゃあ、ある程度溜まってから表示されるからじゃね? >>928
setvbuf でうまくできました!
ありがとうございました。 resharper使ってる人感想教えて
勉強になるって書いてるブログもあったから
半額セール中に試してみようかなと ブログに書いてるんならそれを参考にすればいいじゃん resharper重いから嫌い
よく他の拡張と干渉して不具合起こすし、機能の頭数だけ多くて結局vsにデフォルトで搭載されてる機能と似たようなもの以外は滅多に使わなかった
vscodeが快適すぎて最近はC#もほとんどvscodeで書いてるわ 使用感産休ー
結局使わなくなっちゃうくらいもっさりは躊躇するな
俺のマシンそんな高性能じゃないし 先日のお騒がせものですが、シートの中身入れることはできたんですが、今度はシート名をコンボボックスに入れるのにこれだとシート名が名前順に入るんですがシート順に入れるにはどうしたらできますか?
https://i.imgur.com/LxYIiyg.jpg >>932
具体的にどこがcodeの方が良いんだ?
軽さ以外にある? >>935
フォントのレンダリングが美しくて見やすい
プラグインが豊富
一緒に他の言語のソースを編集する必要がある場合に完全にシームレスに行き来できる
プロジェクトファイルを直接テキストとして開ける(.NET Coreなら必須) 細かい話だけど.csprojのテキスト編集は.NET Coreプロジェクトだと
VSでもコンテキストメニューにあるのよね
まあIDEの立場としてはGUIが未実装故の手抜きと見做すべきだろうけどw >>939
設定を必要最小限にして極力テキストベースで完結させるのが今時の流行り
新形式のプロジェクトファイルは直接手で編集しやすいように構造が全面的に見直されてるんだよ
gitにコミットするときとかgithub上でレビューしたりするときにどうせ中身を一行一行意識しなきゃいけないんだから、
GUIの設定画面なんかはっきり言って邪魔なだけ 一度滅んだOSSの糞文化を取り込んだせいでどんどんMSの品質が腐っていく。 まあ騙されたと思って新しい形式のプロジェクトファイル使ってみたら?
Coreじゃなくても使えるよ
GUIによる設定は今まで通りにできるし、バージョン管理が楽になって普通に便利 >>943
無職乙。C#の案件は見つかりましたか? >>944
結局ゲイツとカトラーがこんなもの使いものになるかとブチ切れしたのが最後、MSの凋落が止まりませんな。
マイナー街道まっしぐらだったヘジをスカウトしたのが失敗の始まりだったな。 C#はほぼ壊滅しただがまだVB.netの案件は数多く残っている。
VB >>>> C# これが現実。初心者はVBにしたほうがいい。 ID:vZ9OA8Bgd ←こいつC#しかできないみたいw
何を勘違いしてC#を勉強した知らんが10年前から既にC#はオワコンだから諦めろ。今は採用案件は皆無。
馬鹿なおまえになぜか教えてやろう。C#は糞だから。これが世界中のIT業界の総意。ゲイツやカトラーも含めてな。 いつものヘジたんラヴおじさんか
ボーランド時代に逆恨みしてメンヘラ化してるというw しかし、今時、30年前の手法でやりましょうって笑えるよな。開発の歴史を全く知らないのだろうか。
それが今の流行ならWindows10やC#も流行ってるはず。だが見向きもされない。むしろ敬遠されてる。 >>950
なるほどだからあなたは採用されないのですね >>951
はぁ? むしろボーランドこそ革新的なIDEを普及させたんじゃねーか。そんなことも知らないとか無知すぎる。
それがなんでまたGUIは邪魔なんでテキストでやりましょうってw アホですか。どうせエディタもvim設定なんだろ。
時代遅れの骨董品どもが。 >>953
キミは煽りばかり全くC#やVSの話はしないのですね。馬鹿がバレるのが怖いんですか? ワッチョイスレって単発煽り多すぎて議論にならんな。
必死にでネット繋ぎなおしてると思うと笑えるw >> ワッチョイ cf81 ワッチョイって意味ないな。
低脳馬鹿のコード書けない煽り屋とマイナーOSS陣営から流れてきたvi使いの骨董品以外いない。 煽りしかしない奴ってなんで内容ないレスばかりするんだろうと思ったんだけど、
キーボードアレルギーか何かで入力がめっちゃ遅いんだと思うわ。
おれが5レスする間に一行しか打てないトロ臭さ。
リアル低スキルじゃん。今まで碌にコード書いてないのがバレバレだな。 結局、技術的反論は皆無。これが現実。
今のC#信者は低スキル。今時、テキスト最高ってw COM、.net全否定かよwww 単発煽りって急に大量に現れて急にみんな消えるよな。
可能性として考えられるのは、ゆとりで低スキルで無職で同一人物。 >>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のサンプルもある まあVSつかいたい奴は明らかにVSが向いてないシーンでも使いたがるからな。
俺も使い分けてるが、netcoreでも案外VS起動する事の方が多い。nuget探しやすいとかそんなレベルだけど。
どっちでも良いものは割とVS Codeで開くな。
とはいえ、mdのライブプレビューとかVSで出来んのかな? VSはIDEの機能を利用したいが為だけに使うことがある。 あるんだ。
何が何でもVSの中で過ごせるように出来てんだなぁ、やっぱ。 if(aaa.bbb.ccc ==null){
・・・
}
だと、aaaかaaa.bbbがnullの時にNUll参照エラー出ますよね。
じゃあ、
if(aaa!=null && aaa.bbb!=null && aaa.bbb.ccc ==null){
こう書くしかないですか?
もっとスッキリ書けませんか? null条件演算子が使えるなら使え
どのバージョンで入ったかは忘れた(役立たず) >>970
なんか下のコードって
動いたら不具合臭くない?
if(コードA && コードB && コードC)
ってあったときにコードAがfalseだからってコードCが実行されないとおかしくなる処理もあるんじゃね?
コードABCがそれぞれ結果を保持するような動作をするときもにょる
言語仕様がどうなってようと書いたやつは死刑 >>972
横からですが
> ってあったときにコードAがfalseだからってコードCが実行されないとおかしくなる処理もあるんじゃね?
そういう場合は && ではなく & を使うと良いようです。
よかったら「短絡評価」で検索してみてください。 >>973
コードABCがそれぞれ判定結果を保持する処理をしてたら余計なお世話じゃねーか? >>975
>>973
確かにその場合は短絡評価は余計なお世話と言うか、短絡評価を使うことは間違ってますね。
ただ、>>970 の例では副作用がないのは明らかですし、
C# で短絡評価が用意されている以上、それを使うなというのは酷な話のようにも思います。
今回の問題に関しては >>974 のような & も && も使わない解決策もありますが、
Microsoft の Reference Source でも obj != null && ((int)obj) != 0 のように
短絡評価が積極的に使われてますので、そのようなコードは認められるべきではないでしょうか。 >>976
人に優しいコードじゃない
見たらちょっと考えちゃうだろ
俺はそれだけで避ける なんかnull条件演算子が短絡じゃないような言い方をしている人がいますが
null条件演算子は短絡評価なので念のため
仕様の是非については関知しません
勝手にすればよろしい >>974
もし
aaa.bbb= null
だった場合に、
if(aaa?.bbb?. ccc == null)
がtrueになることは無いですか? ならない
もしtrueにしたいのなら if(aaa?.bbb == null || aaa?.bbb?.ccc == null) にする レス数が950を超えています。1000を超えると書き込みができなくなります。