ふらっと C#,C♯,C#(初心者用) Part141
■ このスレッドは過去ログ倉庫に格納されています
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/tech/1538646998/
■コードを貼る場合は↓を使いましょう。
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 >>315
ゲームはオブジェクトと環境との間のインタラクションが多すぎるからオブジェクト指向を学ぶには適さない
プロでも結局全部グローバルスコープでアクセスできるようにしとけみたいな設計にしかならん 俺が先輩なら新人に自動車クラスとタイヤクラス作らせて型継承でタイヤ交換は容易にするようにと課題出す
出来たら6年選手として売る 新人言うても30歳超えの中途ね
コスパ良いんだわ
年食ってると従順でパワハラにも耐える
そう言えば20代新人とか見たことない
存在するのかね すまんがIT企業の闇と経験年数詐欺の手法はマ板でやってくれんか?
ム板は数年後のプログラミング教育必修化に向けてフレッシュでさわやかな若者向けの板に改装する予定なんだが 早いところプログラミング必修化してほしいもんだぜ
会社の愚痴とブラック会社アピールが「プログラミングのお話」だと思ってるオッサン多すぎ IT業界の非正規形態に未来がなさ過ぎて辛い
いかんいかん 楽しい気持ちでラムダ練習せねば ↓プログラミングを必修化した結果
ttps://pbs.twimg.com/media/DwtF98FUwAIU166.jpg そもそも資格試験は政治家の天下り先がつくってる
いみない
なぜなら資格を作ってるところの役員事態は
知識がないのだから。 文字列から数字をtmpWとtmpHに抜き出すクラスを作りたいのですがどうしたらいいですか?
演算子記号は+−もある、数字の桁数は不明で小数点もあり、数字が入るときは小文字一字始まり、引数はw or hで抜き出す戻り値を示す。
対象文字
@w900×HH
AWW×h1000
BWW×HH
Cw900/h100
結果 引数がwなら左 hなら右
@tmpW=900 tmpH=WW
AtmpW=WW tmpH=1000
BtmpW=WW tmpH=WW
CtmpW=900 tmpH=1000 >>317
ありがとうございます。調べてみます
>>318
ありがとうございます。しかし同じくキャンセル出来ませんでした フォルダの中に万単位でファイル作ってGetFiles()テストしたことがあったけど
10年以上前のPCでも非同期にしなきゃならんほど遅くなかったと思ったけどなあ
普通に遅い原因はユーザーコードの方にあるんじゃないの >>332
文字列を×/区切りの前後でsplit
それぞれの先頭がwhなら以降を戻り値 >>332
今ちょうど過疎ってるお題スレにちょうど良さげなのでお題スレにコピペさせてもらおう。 >>332
Cが難題だな。どうやって実現しようかなぁ >>342
確かに w
まあtypoだろうからスルーしてやれよ 脊髄反射で書いたので添削頼む。
public static string[] GetHW(string input)
{
string[] returnval = new string[2];
string[] temp = input.Split('+','-','*','/');
if (temp[0].StartsWith("w", StringComparison.Ordinal))
temp[0] = temp[0].TrimStart('w').Insert(0, "tmpW=");
else if (temp[0].StartsWith("WW", StringComparison.Ordinal))
temp[0] = "tmpW=\" \"";
else
temp[0] = "それ以外の何か";
if (temp[1].StartsWith("h", StringComparison.Ordinal))
temp[1] = temp[1].TrimStart('h').Insert(0, "tmpH=");
else if (temp[1].StartsWith("HH", StringComparison.Ordinal))
temp[1] = "tmpH=\" \"";
else
temp[1] = "それ以外の何か";
return temp;
} あ、Replaceでよかった。
returnvalも無意味。 1文で
public static string GetHW(string input)
{
return input.Replace("w", "tmpW=",StringComparison.Ordinal)
.Replace("h", "tmpH=", StringComparison.Ordinal)
.Replace("WW", "tmp=\" \"", StringComparison.Ordinal)
.Replace("HH", "tmp=\" \"", StringComparison.Ordinal)
.Replace("+", " ", StringComparison.Ordinal)
.Replace("-", " ", StringComparison.Ordinal)
.Replace("*", " ", StringComparison.Ordinal)
.Replace("/", " ", StringComparison.Ordinal);
} >>332
質問内容はともかく、プログラマならもうちょっと読み手が推測で補完しなくても
内容を過不足なくきっちり読み取れるような文章を書いた方がいいと思う。
ってういか、率直に言って日本語変だよw 文章はともかくサンプルデータと結果を書いてるのは褒めてもいいと思うよ
他の質問者もぜひ見習って欲しい 独学手探りで勉強しながら作っていたアプリケーションが一応形になったので
折角だから公開してみようと思っているんですが、
デバッグやライセンス確認など、リリース前に確認する事、の知識が全くないことに気づきました
少額ながら有料公開にしようと考えている為、
最低限これとこれは確認しないと、って物を教えて頂きたいです >>352
なんのアプリケーションかも分からないし、答えようがない 有料ってことは、不具合に対する改善要求が来る可能性もあるので、責任の範囲(逃げ道)を明確にしておく。 >>349
そこは、「あなた、日本語お上手ですね!」で煽らないと >>313
今の所、普通に使っていて2.2にはならないのか
ありがとう >>332
まあ、適当に忖度して書いてみた
普段正規表現あんまり使う機会がないんでどっかおかしいかもしれん
https://ideone.com/b9pjrG >>352
ヘタしたら訴訟沙汰になりかねないからやめとけ
まずはベータ版として無料で配るとかして様子を見るべき >>352
・C#で作ってるならデコンパイルされても大丈夫か確認しておく
・GPL汚染に注意する ソフトで商売って労力に見合わないな
キラーソフトでも作れればそれだけで暮らせるんだろうけど ニッチな分野か、あるいは既存ソフトより高性能であれば有料でも売れる可能性はある 業務アプリなら大したスキル無くてもやってることがビジネスとして正しくてちゃんと営業すれば売れるよ
今時ツール系で稼ぐのはまあ無理 >>362
業務にての使用を公認されるためには、有料(シェア)ソフトの方が有利なようですよ、秀丸とか ASPばかりしてたらWinFormの作り方忘れた
つか今だにWinFormの案件あるのかね
小ツールはコンソールアプリで作っちゃうから勝手が思い出せない >>346
>>348
ありがとうございます!調べてやってみます! >>367
大手はWindowsServer入れてる率が多い気がする >>368
ASP.NET(かもしくはASP.NET Core)やろってツッコミじゃね? ASPはもうASP.NETに移行済んでるものと思ってた >>358
わざわざ有難うございます!
これも書いて勉強してみます! 開発マシン XP32bitでVS2005で作ったC++のdllを同じくVS2005で作ったC# WinFormアプリでDllImportを使って利用しています。
Win10 64bitで実行するとC++の関数をコールすると
間違ったフォーマットのプログラムを読み込もうとしました。(HRESULTからの例外: 0x8007000B)
となります。
同じ事をwin7 64bitのVS2013で作ったアプリでしても(当然)問題なく動きます。
VS2005で作ったアプリで動かす方法はないでしょうか。 プロジェクト設定でany cpu になっている部分をx86にしなされ >>373
ありがとうございます!
無事動作しました! 新規プロジェクトをVBでやりたがるPMにC#をオススメしたいのですが、C#が決定的に優れてる点はあるでしょうか?
VB読みにくいなんて言っても苦しむのはお前だろ関係ないという雰囲気で ループの評価とコーディング量かな
手持ちプロジェクトをSharpDevelopで変換してみなされ プログラマの品質
実際にC#使うかVB使うかはどうでもいいが、要員をC#経験者に限定することでリスクは格段に下がる ネットに転がってるサンプルコードの量
(ちょっと慣れればすぐに読み替えられるようになるってのは秘密) >>377
担当PGは決まってるんだからそんなこと言っても説得力なし 日本人を説得するのはこれが一番
http://yellow.ribbon.to/~joke/tobikome.html
実際問題.NETの世界ではC#が標準で「みんな」が使ってる。
逆にあえて非標準のVBを使う理由って何なんですかと聞いてやればいい
もう少し合理的な人なら、ラムダ式とか、デリゲートのadd/removeに演算子が使えることとか、
三項演算子とか、null合体演算子とか、代入演算子が右辺の値を返す式であるとか、
プロパティーのいろんな省略記法とか、C#ならいかに簡潔にかけて同じことをVBでやるといかに冗長になるか
具体例を見せてやればいいよ >>380
> ラムダ式とか、デリゲートのadd/removeに演算子が使えることとか、
> 三項演算子とか、null合体演算子とか、代入演算子が右辺の値を返す式であるとか、
> プロパティーのいろんな省略記法とか、
単なる印象だけど>>375のところのPMはそう言うのを嫌いそうな気がする Labelを貼って、そのTextを空白にしたらデザイン画面でクリックできなくなってしまったのですが
どうやって選択状態にしたらいいのでしょうか >>382
デザイナで以下のどれかの操作をする
(a) [ctrl] + z
(b) マウスでそのラベルがあったあたりをドラッグ
(c) [ctrl] + [alt] + t
(d) プロパティウィンドウの上部のドロップダウンで選択 >>383
ありがとうございます
C案でやらせていただきました PM的にはVBのが簡単で人員の確保が容易との理由ですが、イベントリスナにクラスレスで全処理書くベテランエンジニアの意向を汲んでるんだと思います
自分はサンプルの多さとC系で無い記述に不慣れという理由でC#を希望しましたが、ベテランに寄せられるんだろうなと諦めムードです
ちなみにベテランのスマートUIは芸術の域で若輩の自分には追従不可です
コード量も多く見積りが高く出来るとPMからも信頼されています 今2019年やぞ……。
生産性を上げる技術を入れる気が無い、そのPMにはC#のメリットはメリットに見えないだろうなぁ。
ベテランは古い技術と心中できるけども…… ループ内で一時変数宣言したらコストが増えるってのを知って
新しいブロック作って変数宣言してみたけどなんか見た目がすっきりしない
ループ内の変数宣言の新機能とかないのかな >>386
生産性って言葉は立場や状況によって指してるものが変わるんやで ソフトウェア作れると言うとソフト作って売って大儲けできるんじゃないかと
よく言われる
世間はそういう感じで見てる 権力持ってる人がVB推しなら決定でしょ
できることはほぼ同じだし諦めな >>387
コストが増えるってローカル変数が増える事?
初期化するスタックの増加やレジスタに乗りづらくなるとか?
さほど気にするもんでも…とりあえずAnyCPUで64bit優先オヌヌヌ >>386
意識高めても虚しいだけだよ
10年この仕事して啓蒙もしたけどなにも変わらなかった
9割5分の人材はそもそもシステム開発に興味ないから啓蒙しても無駄
転職するか割り切るかどちらかしかない
環境を変えようと思ったら負け パズル言うほど難しい問題出てない気が...
どっちかっていうと質問自体の方がハズ(
正規表現便利だけど他人の書いたの読むのキツいよねw
しょっちゅう使ってれば違うのかもしれんが ややこい正規表現の場合
コメントで想定okパターンくらいは書くようにしてる フォームアプリケーションにtrackbarを2つ用意して、
pcに接続されたモノラルマイクの音量(感度?)とパンニングをそれぞれ操作したいんですが
適当な検索ワードがわからずにたどり着けませんでした
できるだけシンプルに、どう書けば可能でしょうか? ググったらこんなのが出てきた
読んでないけどなんかすごい面倒くさそう...
https://web.archive.org/web/20060712054058/http://www.terra.dti.ne.jp/~vivas/delphi/mixerapi.html 質問です
ファイルの移動を扱う自作メソッドの結果を扱うクラス(Aとする)を作りました
このクラスに
class A{
...
public static A Output_IsCanceled(string 元のファイル) {
//引数を受けて動作をキャンセルしたことを示す結果を返す。
}
}
のように典型的な結果を出力するメソッドを追加したのですが、
このAを継承したクラスBにこのメソッドもこのメソッドを上書きしたメソッドも実装させたくありません。
なにかスマートな解決方法はあるでしょうか。
私には大人しく別のクラスに移すくらいしか思いつかないのですが。 >>399
そのメソッドを外したクラスを作ってクラスAとクラスBに継承させる なるほど 言われてみれば簡単でしたね
ありがとうございます object型の変数に入れた匿名クラスのプロパティを取得する方法で
詰まっております。
object hoge = new { fuga = 1 };
int a = hoge.fuga ←こういうイメージで取得したかったのですが。。。
ご教授よろしくお願いいたします。 >>404
Dapperの引数がobject型だったのですが、Dapperに渡す前の
匿名クラスのプロパティの値を元に一つ条件式を作りたかったんです
object型の匿名クラスからどうやって値を取るのか興味もありまして >>405
無理
渡す先の引数がobject型だからって変数の型をそれに合わせる必要はないだろ
var使えよ >>403
リフレクションを使った力業
var a = ( int )hoge.GetType().GetProperty( "fuga" ).GetValue( hoge ); >>403
int a = ((dynamic)hoge).fuga;
てしたら取れた。なおインテリセンスはきかない。 >>409
値が取れました。ありがとうございます。
結構トリッキーになるみたいなので
多用は避けた方が無難かと学びました
しかし、Dappreはさらにプロパティ自体も自前で取得するので
手練れの外人は違うなと >>411
Type.GetProperties()でプロパティの一覧が取得出来るよ。
foreach ( var propertyInfo in hoge.GetType().GetProperties() )
{
var value = propertyInfo.GetValue( hoge );
Debug.WriteLine( $"{propertyInfo.Name}={value}" );
} >>412
なるほどそうやるのですね
知らないことが多いので参考になります Androidの実機持って無いんだけど、もし、完成したC#のアプリが有った場合、
DownLoad から、実行まではどうすればいい?
.Net のインストールから始まるの?
C#アプリはGooglePly からDLするの? それとも自前のWebサイト? WPFって、最初のGUIデザインはデザイナで出来ますが、ユーザーの入力に応じてGUIを変化させたい場合
(例えば、テキストボックスに3と入力したらラベルを3つ追加するとかの場合)
xamlではなくC#のソースコードでコントロール追加せざるを得ないのでしょうか? >>415
よく考えよう
その例の場合、お前はコントロールを追加したいんじゃなくて表示対象の文字列を増やしたいんだろ?
C#からは「表示対象の文字列を追加する」操作だけをして、コントロールを追加するのはバインディングに任せるのがWPFの思想だ
>>417は間違いで、ググるべきキーワードは DataTemplate
コレクションに文字列を追加するだけで勝手にコントロールが追加されるようになる ■ このスレッドは過去ログ倉庫に格納されています