[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/24 17:42 / Filesize : 263 KB / Number-of Response : 1022
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっと C#,C♯,C#(初心者用) Part132



1 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:00:56.93 ID:Y4203ffV0.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part131
mevius.5ch.net/test/read.cgi/tech/1504861931/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
mevius.5ch.net/test/read.cgi/tech/1492843013/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

562 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 23:10:50.85 ID:SAD9Ru6t0.net]
WPFのグリッドコントロールが死ぬほど遅いのって解消された?

563 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 01:15:13.63 ID:Ng05dLeH0.net]
いいえ
WPFの思想を正しく理解してたらグリッドコントロールなんか必要ないとわかるはず
それを面倒に感じるようなタイプのアプリならWinFormsかASP.NETで作るべき

564 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 07:09:18.71 ID:t/WJitLPp.net]
どういうことだってばよ

565 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 07:46:40.11 ID:03EiXsZ60.net]
>>551
EnableColumnVirtualizationプロパティをTrueにする

566 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 08:04:18.05 ID:WUINebrs0.net]
Gridじゃなくて、DataGridかよ。

567 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 08:47:45.45 ID:03EiXsZ60.net]
忖度です

568 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 10:45:25.48 ID:DalFF2zW0.net]
Gridが遅いなんて話聞いたことないからわかるだろ

569 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 11:52:51.58 ID:KdTyFqmQ0.net]
>>552
賛同

570 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 12:46:46.71 ID:PsP4EoQE0.net]
つか、



571 名前:DataGridに数千数万突っ込む仕様がどうかしている
どうせ使う人もそこまでスクロールするはず無いんだがなぜか作らされる理不尽さ
[]
[ここ壊れてます]

572 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:03:06.41 ID:bdNJdn2b0.net]
>>559
ほんとこれ

573 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:09:55.85 ID:pcT2EQ6Aa.net]
>>559
役所のアプリってそのぐらいの人数
簡単にいくじゃん

どういう画面にするか迷う

574 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:14:31.33 ID:pcT2EQ6Aa.net]
某大手に依頼されたログ閲覧ツールも
200機近くある機械がそれぞれ秒単位で
ログ出すから一万とかあっという間に超える
こういうのいい作り方ない?

575 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:20:52.94 ID:pcT2EQ6Aa.net]
とりあえずDataGridもDataGridViewも
10万件ぐらいなら余裕で表示できるよ
でも無限に表示するわけにも行かないのに
3年ぐらいのデータはみたいとか言うんだよな
役所のアプリに限っては住民だから
全員並列でデータに上下がなくて
完全にどうやって表示したらいいかわからない

576 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:36:39.82 ID:Ng05dLeH0.net]
>>562
elasticsearchに突っ込んで終わり

577 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:48:34.24 ID:4tOv+jEh0.net]
>>561
もうエクセルでいいだろwww

578 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 14:00:05.81 ID:LD30atSwM.net]
全部表示しないでクエリで絞り込んで表示したらいい
何万件目視する必要はないと思うけど

579 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 14:31:38.49 ID:/OSTeRXvM.net]
能力のない人が要件定義するとそういうアホなことになるよね
客からすれば大抵そういうのはその場のノリで適当に言っただけのどうでもいいことで、
それが生み出す価値と引き換えになる品質やコストを天秤に載せれば明らかにやるべきではないような要件を「やりません」と言えない

580 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 14:55:50.55 ID:lTHigkwZr.net]
上の人達が頭悪いととにかく迷惑なのは確かではある



581 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:06:44.30 ID:e5FcL5GRa.net]
どうせユーザーは全部のデータは見ないから〜、とか
適当に絞り込んだ表示にしろとかいう意見ははさすがにちょっと頭悪すぎると思うw

んなアホな

っていうか仮想化すれば済む程度の話で客や上司を無能扱いする奴って
どんだけ図々しいバカだよ

582 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:18:29.56 ID:IlD7K6Hl0.net]
string型に行番号とかの変数を追加したいのですが
シール型で継承できないとエラーになりました
こんなときどうしたらいいでしょうか

583 名前:デフォルトの名無しさん mailto:sage釣 [2017/10/28(土) 16:49:12.51 ID:i6LcJWfh0.net]
エクステンションを使うべし

584 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:57:29.76 ID:H0P2VwFl0.net]
>>570
Stringじゃなくてクラス作って行番号や行の情報を変数として持つのは駄目なの?

585 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:58:11.15 ID:rZWSN5VzM.net]
class Line {
private readonly string _contents;
private readonly int _lineNumber;
public Line(string contents, lineNumber) {
Contents = contents;
LineNumber = lineNumber;
}
public string Contents {
get => _contents;
set {
if (value == null) throw new ArgumentNullException(nameof(Contents));
_contents = value;
}
}
public int LineNumber {
get => _lineNumber;
set {
if (value <= 0) throw new ArgumentOutOfRangeException(nameof(LineNumber));
_lineNumber = value;
}
}
}

586 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:04:36.31 ID:IlD7K6Hl0.net]
>>571
エクステンションだと↓を見る限り変数は追加できないですよね?構文糖衣みたいのを作る時は便利ですけど
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classe

587 名前:s-and-structs/extension-methods []
[ここ壊れてます]

588 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:09:57.61 ID:IlD7K6Hl0.net]
>>572
いたる所に行番号やらが必要になったstring変数があってあんま変えたくないのですが、
結局そうするしかないんでしょうかね

589 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:13:47.24 ID:i6LcJWfh0.net]
>>574
そのメソッドが所属するクラスにはプロパティorメンバー宣言出来ないって書いてあるかな?

590 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:19:01.18 ID:EvuLUtue0.net]
1行挿入したらそれ以降の行を全部更新しないといけないけど
そういう心配は不要な使い方なの?



591 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:42:01.52 ID:m7p7dboTa.net]
>>575
手を動かす(コードを書き始める)前によく考えなかったツケとしか言いようがないね
修正箇所が多いことは間違った設計を正当化する理由にはならんでしょう。

>>576
拡張メソッドの実体はただの静的メソッドなので基本状態を持てませんw

thisをキーにするDictionaryでも持てばやってできないこともないだろうけど、
努力の方向が間違ってる感が半端ない

592 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:19:38.89 ID:ot1H0tr20.net]
>>576
>実際に、拡張メソッドは、それらが拡張している型のプライベート変数にはアクセスできません。
>>574のこの部分だな
宣言できても外部から使えない

593 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:42:13.42 ID:Ei3q78sJ0.net]
なぜ諦めろと言えないのか

594 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:48:53.63 ID:LD30atSwM.net]
intに行番号追加したいと言ったらアホかで終わる
stringだとなぜアホかでおわらないのかな

595 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:54:17.52 ID:rXHf5Axha.net]
>>581
00001(*゚∀゚)using system;
00002(*゚∀゚)using unko;
00003(*゚∀゚)using chinko;

デリミタ(*゚∀゚)

みたいな

596 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:55:16.39 ID:rXHf5Axha.net]
ごめん
やっぱアホやと思う

597 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 19:15:45.09 ID:rZWSN5VzM.net]
>>581
OOPでは文字列というかプリミティブ型をそのまま使う方が間違い
行という概念が対象とする業務にあるならそういうクラスを作る

598 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 20:14:28.12 ID:X1c8HG7Y0.net]
とりあえずstringと暗黙に相互変換できるクラス作ればいいんじゃね

599 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 20:49:55.33 ID:WUINebrs0.net]
>>570
継承(is-a)じゃなくて包含(has-a)にすべきパターン

600 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 21:14:06.22 ID:EvuLUtue0.net]
>>575
>いたる所に行番号やらが必要になったstring変数

この「行番号やら」とstring変数の用途というか使用目的は?



601 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 21:16:11.03 ID:lTHigkwZr.net]
>>586
素直に委譲するべきですな
継承してstringの全メソッドを公開してしまうアホさ加減が理解出来ない人多いよねw

602 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 21:35:30.21 ID:m7p7dboTa.net]
>>586
>>588
この質問者のケースは単なる設計ミス(というよりあまりに思慮が足りない)だけであって
継承かコンポジションかの対立じゃありませんw

603 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 22:59:54.69 ID:rZWSN5VzM.net]
設計ミスの原因は値オブジェクトの作成をサボったこと

604 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 01:41:15.85 ID:niGJJWdU0.net]
Form1のコントロールに他クラスからアクセスするとき、VB.NETだと
Form1.DataGridView1.〜
のようにアクセスできたけど、C#は同じようにできなかった
https://teratail.com/questions/36464
ここのページのように実装したけど、みんなはどうしてる?

605 名前:デフォルトの名無しさん [2017/10/29(日) 01:56:06.10 ID:9lQAHngl0.net]
>>591
いやできるけど

606 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 02:40:31.76 ID:WQc+sGcxa.net]
>>591
C#だとデフォフトのアクセスレベルがprivateになってる(VBはpublic)から
これをpublicとかに変更してやればできる。(デザイナのプロパティグリッドだとデザイン/Modifier)

でもやるな。
コントロールを外から操作したいなんて99%考え方が間違ってる。

607 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 03:16:14.16 ID:ijP0HOZf0.net]
>>591
エラーメッセージくらい読めよ

608 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 08:12:26.70 ID:eDIrk2le0.net]
>>592-594
ありがとうございます
Winフォーム作成→dataGridView貼り付け→dataGridViewのModifiersをPublic→
新しいクラスClass1.csを作成→
public void Test() {Form1.dataGridView1.Rows.Add("hoge");}
エラー CS0120 静的でないフィールド、メソッド、またはプロパティ 'Form1.dataGridView1' で、オブジェクト参照が必要です

とでます。Form1. の時点でインテリセンスにも表示されませんでした
どこが間違っているか指摘していただけるとうれしいです

VB.NETもおなじようにやってみましたが、Form1.のインテリセンス候補も10倍くらいの量がありました

>でもやるな。
>コントロールを外から操作したいなんて99%考え方が間違ってる。
ちなみにどのようにされていますか?

609 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 09:36:49.69 ID:xy4cL51x0.net]
クラスのインスタンスを電文フォーマットに基づくバイト列に変換するのって
どうするのが一般的ですか?

BitConverterで一つずつやるつもりでいたんだけど、電文の種類が多くて大変なんで
マーシャリングかシリアライザー使って何とかならないかなと考えています。

バイトオーダの変換はありませんが
文字コードの変換はあります。

610 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 09:57:15.12 ID:lQWP9L+J0.net]
>>595
クラスのインスタンスからアクセスしないといけない
他のクラスにインスタンス無しでアクセスできるのはエラーのとおりstaticなメンバーにだけ
自分で貼ったリンク先を読み返すか
https://dobon.net/vb/dotnet/form/accessanotherformdata.html
ここを参照



611 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:00:00.89 ID:8/yZ+26EM.net]
>>596
独自形式?
ならまずはプロトコルの変更を検討

612 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:25:39.66 ID:8DklepZ/0.net]
>>596
電文フォーマットが有名な国際規格ならNugetにコンバータが落ちているだろうからそれ使えだけど、独自形式なら電文に応じてコンバータ作るしかないんじゃね
2.0時代の時は文字コード指定したBinaryWriterに1項目ずつ書き込んだけど、今だともっと良い方法あるのかね?

613 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:38:20.65 ID:niGJJWdU0.net]
>>597
説明が足りなかったです
最初のレスで貼ったリンク先の方法で実現できたのですが、VB.NETのように特別な設定等なくてもアクセスできないのかなと思いまして

614 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:46:16.93 ID:lQWP9L+J0.net]
>>600
意味が分からないのだけどインスタンス無しでアクセスしたいのなら無理
デフォルトをpublicにする設定なら知らない
datagridviewをpublicにしたくないのなら同じクラスに読み書きするためのpublicなメソッドをおいてそこに外からアクセスする

615 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 11:57:28.03 ID:PXhFkrdq0.net]
LINQの川俣本買ってきた
確かに変態的だがw、なかなか面白い

616 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 12:24:50.28 ID:niGJJWdU0.net]
>>601
勉強になりました
ありがとうございました

617 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 13:04:46.79 ID:ZduY/p1d0.net]
>>602
彼が本の中で出している例が、彼が実際に作っている同人ゲームというのが痛々しい
その痛さは中身とは直接関係ないけどね

618 名前: mailto:sage [2017/10/29(日) 13:54:10.92 ID:KCquvjW+d.net]
>>596
電文コンバータと、そのコンバータ用のattribute作った事ある。
ちまちまやっても辛いが、電文は自システム外との接点で一番健全であるべきだと思うから、
あんまりその辺のライブラリ使わずに、ベンダサポ

619 名前:ートのあるものを買うか自作した方が良いと思う。 []
[ここ壊れてます]

620 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 19:15:01.89 ID:DPr9B5TC0.net]
double値で0〜1の乱数一個発生させた後何倍かしたあと50足して50〜100の乱数表示させたいんだが「何倍かして」をどう打ち込んでやればいいのか分から



621 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 19:27:01.08 ID:JiBt02fUa.net]
>>606
0〜1の乱数 * 50 + 50

622 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 19:30:31.42 ID:UHlhCeyba.net]
それが分からないってどんだけ数学苦手なんだよw
小学生でもわかる気がするけどw

623 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:04:49.47 ID:QVv5Qzoo0.net]
>>606
こたえ は らんすう かける (いちばんおおきいかず ひく いちばんちいさいかず) たす いちばんちいさいかず

624 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:24:05.16 ID:XZx0dOgn0.net]
List<string>をcomboBoxの内容に入れ替えたいんですが、

list.Clear();
foreach (var item in comboBox1.Items)
{
list.Add(item.ToString());
}

もっといい書き方ありますか?

625 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:35:08.53 ID:2obBvs8R0.net]
>>610
list = comboBox1.Items.Cast< string >().ToList();

626 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:37:54.07 ID:2obBvs8R0.net]
listを作り直すのが嫌だったら

list.Clear();
list.AddRange( comboBox1.Items.Cast< string >() );

627 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:39:32.25 ID:GAnQ71f80.net]
>>610
DataSourceにデータソースをバインドしてDisplayMemberとValueMemberをゴニョニョする方が良いと思う

628 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:42:13.20 ID:GAnQ71f80.net]
ごめん、忘れて

629 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 20:53:42.20 ID:XZx0dOgn0.net]
>>611-612
ありがとうございます。
やってみます。

630 名前:デフォルトの名無しさん [2017/10/29(日) 21:38:31.04 ID:AI+osUJX0.net]
あるstringのデータを
コンソールで表示すると

1 2 3 4
5 6

となるのですが
フォームアプリケーションのtextBoxで表示すると
1 2 3 45 6
となってしまいます
これはどうしてでしょうか?
コンソールアプリケーションと同じように表示する方法はありますか?



631 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 21:42:40.40 ID:YJExHDlc0.net]
textBox.Multiline = true;

632 名前:デフォルトの名無しさん [2017/10/29(日) 21:46:02.25 ID:+ffco7dx0.net]
>>616
フォームデザイナーでテキストボックス選択すると出てくる三角マークで出てくるチェックボックスにチェック

633 名前:デフォルトの名無しさん [2017/10/29(日) 21:49:41.90 ID:AI+osUJX0.net]
>>617>>618
Multilineはチェックしています

634 名前:デフォルトの名無しさん [2017/10/29(日) 21:50:16.20 ID:+ffco7dx0.net]
>>606
「*」の入力の方法
https://i.imgur.com/JX4EAnJ.jpg

635 名前:デフォルトの名無しさん [2017/10/29(日) 21:50:47.43 ID:+ffco7dx0.net]
>>619
改行コードは\nじゃなくて\r\n

636 名前:デフォルトの名無しさん [2017/10/29(日) 21:53:57.78 ID:AI+osUJX0.net]
>>621
なるほど、データの\nを\r\nに置換すれば良いのですね
プログラム内で出来る様やってみます
ありがとうございました!

637 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 22:29:57.26 ID:3xWluLewM.net]
>>606
乱数で1〜0じゃなくて
乱数で0〜50出して50足せばいいよ

638 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 23:09:13.97 ID:lLtElflAr.net]
>>610
悪いこと言わんからlistを入れ換えなさい

639 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 23:41:17.91 ID:XZx0dOgn0.net]
>>624

>>611-612
では問題あるのでしょうか?

640 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 00:51:20.04 ID:ZjjJl5MKr.net]
>>625
その二つが違うんですけどね (´・ω・`)



641 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 02:19:11.99 ID:WHu/EAiX0.net]
>>600
VB.NETの既定のインスタンスのことかな?
VB.NETではフォームのインスタンスをnewすることなく使える
www.atmarkit.co.jp/fdotnet/special/vb6tovb2005mig02/vb6tovb2005mig02_01.html

ただ、VB6との互換というか、ごまかしだから避けるのが基本
メリットが薄い割に後々混乱やバグのもとになる

642 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 06:37:07.25 ID:VzdyAy7l0.net]
>>610
コンボボックスのデータソースにリスト当ててやればおけ

643 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 16:27:34.12 ID:uU3Z1NO30.net]
C#凄く難しい。
みんなよく覚えられるね。

644 名前:デフォルトの名無しさん [2017/10/30(月) 17:05:11.69 ID:ZRry2d4e0.net]
最も無駄がなく整理されて簡潔な言語なのに

645 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:11:32.17 ID:+mMPfUc40.net]
互換性の為の無駄はあるよ

そして難しくはないっつーかかなり簡単な部類
仕様とライブラリが膨大で覚える事が多いだけ

646 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:13:03.05 ID:em1IyeD/0.net]
Dictionaryを使って
stringとfloat型で特定の人物の電話番号を
WriteLineでコンソールに出力するプログラムを作りたいのですが
例えば0001234567という電話番号だったりすると
000の部分が省略されて1234567の部分しかコンソールに出力できません
float型では0は扱えないのでしょうか?

647 名前:デフォルトの名無しさん [2017/10/30(月) 17:16:37.50 ID:1Rgk/fXB6.net]
なぜ電話番号を浮動小数で表すのか謎だがこのサイト見ながらで書式設定すればできる
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/formatting-numeric-results-table

648 名前:片山博文MZ mailto:sage [2017/10/30(月) 17:21:42.29 ID:ct0tj9Za0.net]
>>632
電話番号には文字列を使いなよ。国際電話を使うかもしれないぜ。

649 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:28:01.76 ID:dYkZ5PSi0.net]
>>632
float型だろうがdecimalだろうが頭に0が付かないのは当たり前。電話番号は文字列として扱え
数値以外の要素のチェックが必要なら面倒でもチェック用のメソッドを作る
>>633
それができるのは桁数が決まっているものだけだから電話番号には使えない

650 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:35:14.59 ID:ZipmH/zBd.net]
>>629
何に比べてどこが難しいの?



651 名前:デフォルトの名無しさん [2017/10/30(月) 17:37:33.80 ID:em1IyeD/0.net]
>>634
>>635
文字列として扱ったら表示されました!
ありがとうございました!

652 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:42:51.79 ID:MXOIFBwWa.net]
スレ的に笑っちゃいけないのかもしれないけどその発想はなかったw
だけど常識的に考えて、0と00が別の値として認識される数値型があったら変だろうw

653 名前:デフォルトの名無しさん [2017/10/30(月) 17:43:10.06 ID:1Rgk/fXB6.net]
電話番号って幅バラバラなんだ初めて知った

654 名前:デフォルトの名無しさん [2017/10/30(月) 17:44:12.67 ID:1Rgk/fXB6.net]
確かにバラバラだわ

655 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:46:47.02 ID:MXOIFBwWa.net]
東京の局番が増えたのついこの間だったろう...と思ったらもう20年以上前かw

656 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:48:26.11 ID:+mMPfUc40.net]
まあ固定電話と携帯電話でも桁数違うし

657 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:57:55.85 ID:qj0DpEco0.net]
電話番号は真面目に考えると結構複雑
nugetでPhoneNumberを調べるとすでに作ってる人がいるので参考にするなり拝借するなり
してきた方がいいかもしれない

658 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 18:01:26.63 ID:Bbjg4pNZa.net]
問題点番号26
110と119、117が登録できない

永久凍結(笑)

659 名前:デフォルトの名無しさん [2017/10/30(月) 18:02:40.83 ID:zMAqCiK10.net]
常識的に考えて緊急電話がサービスに登録してこない
電話帳かな?

660 名前: mailto:sage [2017/10/30(月) 18:03:59.63 ID:53AKimFld.net]
電話番号って番号だからなぁ。一応。
単純に文字列が良いかと言うと、ソートは国番号、市外局番、市内局番、内線番号で数字順にやりたい、とか、局番のハイフンは数字じゃないじゃんとか、市外局番変わるので洗い替えます、とか結構うんざりする。
業務系だと電話番号クラス作る(というかプリミティブな型をデータを表す型に使わない)けど、そこまでやってるとキリないしな。



661 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 18:05:30.03 ID:+mMPfUc40.net]
結局、要件定義次第だからね
将来的な変更を見越して型を作るのはアリだと思うけど

662 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 18:27:19.96 ID:1DqnyPzkM.net]
電話番号は番号というより記号
数字としての役割はしてない






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<263KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef