「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part138
https://mevius.5ch.net/test/read.cgi/tech/1528194762/
■コードを貼る場合は↓を使いましょう。
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/
ふらっと C#,C♯,C#(初心者用) Part139
レス数が1000を超えています。これ以上書き込みはできません。
2018/08/05(日) 19:55:44.50ID:tZmoj8I+
2018/08/05(日) 19:56:18.64ID:tZmoj8I+
すみません、ワッチョイ忘れました
2018/08/05(日) 23:33:45.09ID:SfajzAT9
>>2
ふざけんなよ
ふざけんなよ
2018/08/05(日) 23:47:40.56ID:U+AnL1A0
2018/08/06(月) 00:07:39.61ID:+HTQkGSa
質問や回答で埋まる分には仕方ないだろ
2018/08/06(月) 12:39:27.90ID:ZTMxp9nC
VBの質問してもいいですか?
2018/08/06(月) 13:34:24.30ID:QR385WnF
いいえ
8デフォルトの名無しさん
2018/08/08(水) 23:09:42.74ID:8OrgOoWk ファイルやディレクトリー操作する時は
パスを文字列で取得するけど
パスをコントロールする用の適切なクラスや型ってあったりしますか?
パスを文字列で取得するけど
パスをコントロールする用の適切なクラスや型ってあったりしますか?
2018/08/08(水) 23:15:13.95ID:UTxKd5gF
コントロールが何を指しているのか不明だけど、System.IO.Path のこと?
2018/08/08(水) 23:21:00.20ID:9nfo9izj
11デフォルトの名無しさん
2018/08/08(水) 23:22:04.89ID:8OrgOoWk >>9
単純にパスの格納を文字列でしているから
パス格納用の型とかがあったら知りたいです
MSならWindowsのファイルシステムに対して.Netから特殊な操作ができるのかなあって思いました
単純にファイルの検索でpathクラスより高速なものがあったりするのかなあと
単純にパスの格納を文字列でしているから
パス格納用の型とかがあったら知りたいです
MSならWindowsのファイルシステムに対して.Netから特殊な操作ができるのかなあって思いました
単純にファイルの検索でpathクラスより高速なものがあったりするのかなあと
2018/08/08(水) 23:35:59.13ID:7IOaw32y
Path.Combine
で十分でしょ
で十分でしょ
2018/08/09(木) 00:07:54.69ID:xHgFHFx+
Ruby のPathname クラスみたいな、便利なユーティリティクラスだろ
2018/08/09(木) 00:14:33.68ID:IuFsMvv7
あのAPIってPath, File, Directoryのどのクラスにいたっけ…ってなることがたまに
15デフォルトの名無しさん
2018/08/09(木) 00:21:18.50ID:5fPidJPz 共変性、反変性どうのって性質ってさあ
一体、なんに利用できるんだぜ?
一体、なんに利用できるんだぜ?
2018/08/09(木) 12:23:17.42ID:uNn6MZJ3
ウィンドウを広げたら画像も等倍で大きくなるようにしたいんですがどういう設定を弄ればいいでしょうか?
今はこんな風になります。
http://fast-uploader.com/transfer/7089340407313.jpg
pictureboxのsizemodeはzoomにしてあります
今はこんな風になります。
http://fast-uploader.com/transfer/7089340407313.jpg
pictureboxのsizemodeはzoomにしてあります
2018/08/09(木) 12:34:59.33ID:p84d2kw+
2018/08/09(木) 14:11:43.19ID:4pchpIvY
2018/08/09(木) 16:01:56.38ID:Q9fsVYYC
>>16
先回りしとくと画像ができたらボタンとDateTimePickerもそろえて変えたいと思うかもしれないが
少なくともWinFormではDateTimePickerの大きさを合わせて変えるのは凄く面倒
先回りしとくと画像ができたらボタンとDateTimePickerもそろえて変えたいと思うかもしれないが
少なくともWinFormではDateTimePickerの大きさを合わせて変えるのは凄く面倒
2018/08/09(木) 16:50:18.89ID:uNn6MZJ3
21デフォルトの名無しさん
2018/08/12(日) 01:49:29.47ID:YrPOuymD publicメンバの変数名全部小文字にしちゃった
後任の人ごめんね
後任の人ごめんね
22デフォルトの名無しさん
2018/08/12(日) 02:08:24.17ID:23yIPh0T visuakstudioでクラスを追加したあと関連づける方法がわかりません
どうすれば良いでしょうか?
Form1.cs
namespace neko
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(testtext);
}
}
}
test.cs
namespace neko
{
class test
{
string testtext ="表示";
}
}
どうすれば良いでしょうか?
Form1.cs
namespace neko
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(testtext);
}
}
}
test.cs
namespace neko
{
class test
{
string testtext ="表示";
}
}
23デフォルトの名無しさん
2018/08/12(日) 02:14:07.60ID:YrPOuymD test t = new test();
MessageBox.Show(t.testtext);
もしくは
MessageBox.Show(test.testtext);
class test
{
static string testtext ="表示";
}
MessageBox.Show(t.testtext);
もしくは
MessageBox.Show(test.testtext);
class test
{
static string testtext ="表示";
}
2018/08/12(日) 02:16:01.58ID:06lg+uZn
>>22
オブジェクト、クラス、インスタンスの言葉の意味
https://dobon.net/vb/dotnet/beginner/classinstance.html
アクセス修飾子 (C# リファレンス)
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/access-modifiers
オブジェクト、クラス、インスタンスの言葉の意味
https://dobon.net/vb/dotnet/beginner/classinstance.html
アクセス修飾子 (C# リファレンス)
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/access-modifiers
25デフォルトの名無しさん
2018/08/12(日) 02:32:17.74ID:23yIPh0T26デフォルトの名無しさん
2018/08/12(日) 02:45:33.22ID:23yIPh0T インスタンス作成を書かずに済ます方法はないのでしょうか?
usingを使用したりです
2つ以上のファイルに分けてコードを書きたいのが目的です。
MessageBoxがusing System.Windows.Forms;で参照している様なのと同じように書きたいです
usingを使用したりです
2つ以上のファイルに分けてコードを書きたいのが目的です。
MessageBoxがusing System.Windows.Forms;で参照している様なのと同じように書きたいです
2018/08/12(日) 02:57:30.97ID:wouDTZ9z
俺流を考えるのは一通り基礎を理解してからで遅くないからw
28デフォルトの名無しさん
2018/08/12(日) 03:02:44.64ID:61mYfpvC まずは黙って感謝の1日1万行写経しなさいな
29デフォルトの名無しさん
2018/08/12(日) 03:08:45.87ID:23yIPh0T2018/08/12(日) 08:54:02.49ID:3UTFG/IT
>>21
プロパティのこと?それともフィールドをpublicにしちゃったの?
プロパティのこと?それともフィールドをpublicにしちゃったの?
2018/08/12(日) 17:47:13.24ID:29Ctg7zJ
メッセージボックスを出して押されたボタンに対応するメッセージをラベルに表示する簡単なプログラムなんですがswitchでかけるのは解ったんですがifでかくとどうなりますか?
ちなみにソースとアプリの画面はこんな感じです。
http://fast-uploader.com/transfer/7089619124517.jpg
var x = MessageBox.Show("メッセージ", "タイトル", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk);
switch (x)
{
case DialogResult.Yes:
label1.Text = "はいが押されました。";
break;
case DialogResult.No:
label1.Text = "いいえが押されました。";
break;
default:
label1.Text = "キャンセルされました";
break;
}
ちなみにソースとアプリの画面はこんな感じです。
http://fast-uploader.com/transfer/7089619124517.jpg
var x = MessageBox.Show("メッセージ", "タイトル", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk);
switch (x)
{
case DialogResult.Yes:
label1.Text = "はいが押されました。";
break;
case DialogResult.No:
label1.Text = "いいえが押されました。";
break;
default:
label1.Text = "キャンセルされました";
break;
}
2018/08/12(日) 17:57:27.20ID:VB6uTYfX
>>31
var x = MessageBox.Show("メッセージ", "タイトル", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk);
if (x==DialogResult.Yes) label1.Text = "はいが押されました。";
else if (x==case DialogResult.No) label1.Text = "いいえが押されました。";
else label1.Text = "キャンセルされました";
var x = MessageBox.Show("メッセージ", "タイトル", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk);
if (x==DialogResult.Yes) label1.Text = "はいが押されました。";
else if (x==case DialogResult.No) label1.Text = "いいえが押されました。";
else label1.Text = "キャンセルされました";
2018/08/12(日) 18:06:12.77ID:29Ctg7zJ
2018/08/12(日) 18:09:32.01ID:29Ctg7zJ
どこか書き間違えてたんですねきっと。ありがとうございました
2018/08/12(日) 19:30:52.63ID:U04Z7MLo
フィールドはパブリックにしないほうがいいよ
理由は調べれば出てくる
理由は調べれば出てくる
2018/08/13(月) 10:12:06.70ID:JI1vIyZs
AxWindowsMediaPlayer をフォームに貼り付けていろいろやっているんですが、
MediaPlayer に予め設定されているキーボードショートカットを無効化する方法はないでしょうか。
まちがえて押してしまって暴発する他、Ctrl + F などの登録されているキーに
別の機能を割り当てたいのですが、MediaPlayerのKeypressイベントで e.handled がtrueにされてしまっているのか
フォームのKeyPressイベントが呼ばれないようです。
MediaPlayer に予め設定されているキーボードショートカットを無効化する方法はないでしょうか。
まちがえて押してしまって暴発する他、Ctrl + F などの登録されているキーに
別の機能を割り当てたいのですが、MediaPlayerのKeypressイベントで e.handled がtrueにされてしまっているのか
フォームのKeyPressイベントが呼ばれないようです。
2018/08/13(月) 14:06:18.33ID:8S8/2I2z
>>36
フォームでキーイベントを全部受けたいだけならフォームのKeyPreviewプロパティをtrue
フォームでキーイベントを全部受けたいだけならフォームのKeyPreviewプロパティをtrue
2018/08/13(月) 20:52:46.66ID:JI1vIyZs
>>37
もちろんそれはやっています
というかKeyPreviewをtrueにしないとForm.Keypressイベントは発生しないものだと
思っていたのですが、勘違いでしょうか。
MediaPlayerに登録されていないらしいキーの組み合わせについてはちゃんとイベントが発生しています。
ところでKeyPressなどのイベントでは受け取ったキーがhandleされないときは別のコントロールのKeyPressイベントに
値が渡されているみたいですが、その順番はどういうルールに基づくのかご存じないでしょうか。
Keypress 順番 などでググってみても KeyDown の後にKeypressが起こる云々しかでてこないのですが。
もちろんそれはやっています
というかKeyPreviewをtrueにしないとForm.Keypressイベントは発生しないものだと
思っていたのですが、勘違いでしょうか。
MediaPlayerに登録されていないらしいキーの組み合わせについてはちゃんとイベントが発生しています。
ところでKeyPressなどのイベントでは受け取ったキーがhandleされないときは別のコントロールのKeyPressイベントに
値が渡されているみたいですが、その順番はどういうルールに基づくのかご存じないでしょうか。
Keypress 順番 などでググってみても KeyDown の後にKeypressが起こる云々しかでてこないのですが。
2018/08/13(月) 22:26:49.67ID:iMw9ATb1
FormにIFilterMessage実装して、PreFilterMessageで
WM_KEYDOWN/WM_KEYUPのときActiveControlがAxWindowsMediaPlayerなら
false返せばAxWindowsMediaPlayerには渡らなくなる
Formの方で受け取りたいならついでにOnKeyDown/OnKeyUp呼び出す
WinFormにはルーティングイベントなんてないから別のコントロールが受け取るとかないはずだけど
KeyPreviewしてるFormが先に受け取るとかぐらいで
どういうコントロール構成とイベントハンドラにしたら再現できる?
WM_KEYDOWN/WM_KEYUPのときActiveControlがAxWindowsMediaPlayerなら
false返せばAxWindowsMediaPlayerには渡らなくなる
Formの方で受け取りたいならついでにOnKeyDown/OnKeyUp呼び出す
WinFormにはルーティングイベントなんてないから別のコントロールが受け取るとかないはずだけど
KeyPreviewしてるFormが先に受け取るとかぐらいで
どういうコントロール構成とイベントハンドラにしたら再現できる?
2018/08/14(火) 00:17:13.29ID:cUGYJeNz
なんか違和感あると思ったらIMessageFilterだった
あとFormのコンストラクタあたりでApplication.AddMessageFilter(this)する必要あり
あとFormのコンストラクタあたりでApplication.AddMessageFilter(this)する必要あり
41デフォルトの名無しさん
2018/08/16(木) 20:46:30.44ID:CMBG5Zb1 以下のようなコードでITestにList<Hoge>とList<Fuga>を併記するような書き方はあるでしょうか?
public class Fuga{ public string val { get; set; } }
public class Hoge{ public string val { get; set; } }
interface ITest{ List<Hoge> Hogege(); }
public class A : ITest
{
public List<Hoge> Hogege()
{
return null;
}
}
public class B : ITest
{
public List<Fuga> Hogege()
{
return null;
}
}
class Program
{
static void Main(string[] args)
{
ITest AB;
AB = new A();
AB = new B();
}
}
public class Fuga{ public string val { get; set; } }
public class Hoge{ public string val { get; set; } }
interface ITest{ List<Hoge> Hogege(); }
public class A : ITest
{
public List<Hoge> Hogege()
{
return null;
}
}
public class B : ITest
{
public List<Fuga> Hogege()
{
return null;
}
}
class Program
{
static void Main(string[] args)
{
ITest AB;
AB = new A();
AB = new B();
}
}
42デフォルトの名無しさん
2018/08/16(木) 20:54:09.65ID:ypHiACds Stringですか?
stringですか?
stringですか?
2018/08/16(木) 21:10:05.62ID:cTYLky9x
併記ってどういうこと?
2018/08/16(木) 21:12:25.13ID:AjFj7Rns
2018/08/16(木) 21:35:49.30ID:KqrlVipO
4641
2018/08/16(木) 21:47:02.98ID:CMBG5Zb1 理解が乏しく説明が拙くてすみません
インターフェースを以下のように書く方法があれば良いなと思った次第です
interface ITest{ List<共通or抽象化したクラス記述> Hogege(); }
どうも無理そうな雰囲気を感じておりますが
お願い致します
インターフェースを以下のように書く方法があれば良いなと思った次第です
interface ITest{ List<共通or抽象化したクラス記述> Hogege(); }
どうも無理そうな雰囲気を感じておりますが
お願い致します
2018/08/16(木) 21:55:43.81ID:cTYLky9x
FugaとHogeになんらかの関係がないとどうにもならないよ
どちらかが継承してるとか共通のinterfaceを実装してるとか
あるいはITestをジェネリックにするか この場合Mainの方のコード書けないけど
あとは型安全なんか投げ捨ててdynamicにするか、ってのはジョークだけど
どちらかが継承してるとか共通のinterfaceを実装してるとか
あるいはITestをジェネリックにするか この場合Mainの方のコード書けないけど
あとは型安全なんか投げ捨ててdynamicにするか、ってのはジョークだけど
4841
2018/08/16(木) 22:26:51.44ID:CMBG5Zb1 たびたび失礼します
こんなコードを書いた動機としては、class A と class B のメソッドの違いが
返り値のList<xxx>でしかないため、インターフェースで共通の型に出来たら
mainでインスタンス作る際にスッキリするなと思ったからです
こんな記述が無理そうな時点でC#の考えに則って無いんだろうなと感じております
public class A : ITest
{
public List<Hoge> Hogege()
{
return null;
}
}
public class B : ITest
{
public List<Fuga> Hogege()
{
return null;
}
}
こんなコードを書いた動機としては、class A と class B のメソッドの違いが
返り値のList<xxx>でしかないため、インターフェースで共通の型に出来たら
mainでインスタンス作る際にスッキリするなと思ったからです
こんな記述が無理そうな時点でC#の考えに則って無いんだろうなと感じております
public class A : ITest
{
public List<Hoge> Hogege()
{
return null;
}
}
public class B : ITest
{
public List<Fuga> Hogege()
{
return null;
}
}
2018/08/16(木) 23:17:36.51ID:4LOkjF+G
何度もみんな言っている通りAとBじゃなくてHogeとFugaでなんとかしろって話だと思うんだが、なんでそんな頑なにAとBにこだわるの?
50デフォルトの名無しさん
2018/08/16(木) 23:23:32.70ID:sGlIzl1X Hage Tsuru Pika
51デフォルトの名無しさん
2018/08/17(金) 00:12:00.44ID:bI0Dxrf9 アドバイスを基にこの記述で行けるか!と思ったのですがreturn hoge;でList<IStore>でないとダメと怒られました
素人のぬか喜びでした
public interface IStore
{
}
public class Fuga: IStore
{
public string val { get; set; }
}
public class Hoge: IStore
{
public int val { get; set; }
}
public interface ITest
{
List<IStore> Hogege();
}
public class A : ITest
{
public List<IStore> Hogege()
{
List<Hoge> hoge = new List<Hoge>();
hoge.Add(new Hoge { val = 1 });
return hoge; //エラー
}
}
素人のぬか喜びでした
public interface IStore
{
}
public class Fuga: IStore
{
public string val { get; set; }
}
public class Hoge: IStore
{
public int val { get; set; }
}
public interface ITest
{
List<IStore> Hogege();
}
public class A : ITest
{
public List<IStore> Hogege()
{
List<Hoge> hoge = new List<Hoge>();
hoge.Add(new Hoge { val = 1 });
return hoge; //エラー
}
}
2018/08/17(金) 00:24:38.97ID:ceNJ30ox
visualstudioをインストールしました
参考書にはWindowsフォームアプリケーションやコンソールアプリケーションなどあるんですが、インストールしたvisualstudioには見当たらないです
何が設定かインストールし忘れたのでしょうか?
参考書にはWindowsフォームアプリケーションやコンソールアプリケーションなどあるんですが、インストールしたvisualstudioには見当たらないです
何が設定かインストールし忘れたのでしょうか?
2018/08/17(金) 00:50:04.81ID:PFV80D0U
>>52
VisualStudioのスレで聞くべきだけど、その前にどのバージョンをインストールしたか把握している?
VS2017ならスタートページで「新しいプロジェクトの作成」をクリックするかメニューのファイル>新規作成>プロジェクト
VisualStudioのスレで聞くべきだけど、その前にどのバージョンをインストールしたか把握している?
VS2017ならスタートページで「新しいプロジェクトの作成」をクリックするかメニューのファイル>新規作成>プロジェクト
2018/08/17(金) 17:33:16.91ID:ceNJ30ox
>>53
すみません、C#の話でしたのでこちらに書き込んでしまいました
visualstudioのバージョンは2017です
それで、visualstudio起動後のファイル>プロジェクト>新しいプロジェクト内に存在しないんですよね…
あるのは空のアプリ、WPFアプリ、Windowsランタイムコンポーネント、クラスライブラリのみでした
すみません、C#の話でしたのでこちらに書き込んでしまいました
visualstudioのバージョンは2017です
それで、visualstudio起動後のファイル>プロジェクト>新しいプロジェクト内に存在しないんですよね…
あるのは空のアプリ、WPFアプリ、Windowsランタイムコンポーネント、クラスライブラリのみでした
2018/08/17(金) 17:55:13.19ID:tlmPPTdZ
http://image.itmedia.co.jp/ait/articles/1704/10/dt-01.gif
http://image.itmedia.co.jp/ait/articles/1704/10/dt-05.gif
Windowsクラシックデスクトップって奴だと思うけどそれは分かってる?
インストール時に選択してないなら知らんけど
http://image.itmedia.co.jp/ait/articles/1704/10/dt-05.gif
Windowsクラシックデスクトップって奴だと思うけどそれは分かってる?
インストール時に選択してないなら知らんけど
2018/08/17(金) 18:00:12.39ID:PWcnU2kA
WPF入っているのにWinフォームとコンソールアプリ入っていないって何か変なことやっていそう
インストーラーでそれっぽいの入れなおしてそれでもだめなら素直に専用スレ行けばいい
インストーラーでそれっぽいの入れなおしてそれでもだめなら素直に専用スレ行けばいい
2018/08/18(土) 13:00:11.77ID:XAZ8inQ9
Windows 7はデフォでFW 3.5が入ってて
WIndows Updateを適当に入れてけば今サポートされてる最古のFW 4.5.2になるって認識でOKですか?
それともWindows UpdateするだけではFWは更新されない?
WIndows Updateを適当に入れてけば今サポートされてる最古のFW 4.5.2になるって認識でOKですか?
それともWindows UpdateするだけではFWは更新されない?
2018/08/18(土) 14:06:53.55ID:CVV71Jnt
fwって何だファームウェアか
2018/08/18(土) 14:11:43.31ID:piDfOcEW
ここ言語スレなんだよなあ
>>57
http://www.atmarkit.co.jp/ait/articles/0910/15/news116.html
https://docs.microsoft.com/ja-jp/dotnet/framework/install/on-windows-7
Windows7で4.0以降はOSのアップデートに入らない。OSのスレで聞いてくれ
>>57
http://www.atmarkit.co.jp/ait/articles/0910/15/news116.html
https://docs.microsoft.com/ja-jp/dotnet/framework/install/on-windows-7
Windows7で4.0以降はOSのアップデートに入らない。OSのスレで聞いてくれ
2018/08/18(土) 14:15:04.34ID:63PJyp6j
いちいち交通整理くっだらねアホか
こういう馬鹿、自分が質問者以上にスレと関係ないことをほざいてる自覚がないらしい。
そもそも馬鹿は自分を客観視できないからな
こういう馬鹿、自分が質問者以上にスレと関係ないことをほざいてる自覚がないらしい。
そもそも馬鹿は自分を客観視できないからな
2018/08/18(土) 14:29:01.60ID:bu3iHsiJ
>>60
おまえそれどのレスに対して言ってんの?
おまえそれどのレスに対して言ってんの?
2018/08/18(土) 15:08:10.60ID:CVV71Jnt
前スレにもいた客観視君か
九官鳥みたいだな
九官鳥みたいだな
63デフォルトの名無しさん
2018/08/18(土) 15:27:59.00ID:AFavdKXG 前から誰のこと言ってるのか知らんけど、この意味不明な粘着質、普通にストーカーと同じメンタルだ
2018/08/18(土) 17:48:26.71ID:pAmB63kN
>>58
(.Net) Frame Work だろ
(.Net) Frame Work だろ
65デフォルトの名無しさん
2018/08/18(土) 18:22:34.56ID:m2/0Uqcq FWって初めて聞いたわ。.NETと一般的な名称使わずにオレオレ略語使う奴って頭悪そう
2018/08/18(土) 18:36:09.82ID:rpJq+M3x
C# スレで FW 3.5 って来たら候補は一つしか無い
2018/08/18(土) 18:38:11.71ID:PMPVVek/
2018/08/18(土) 18:55:10.22ID:bESODcUh
ファーム
2018/08/18(土) 18:59:38.07ID:y78sZYS/
70デフォルトの名無しさん
2018/08/18(土) 21:05:24.91ID:XoXRtiM1 VISUALSTUDIOのバージョンとC#のバージョンの対応関係ってどこかに一覧表ない?
71デフォルトの名無しさん
2018/08/18(土) 21:45:53.66ID:m2/0Uqcq あるよ
72デフォルトの名無しさん
2018/08/18(土) 21:50:46.39ID:IgqCTt2j あるわけないだろ
2018/08/18(土) 22:02:40.56ID:y78sZYS/
2018/08/18(土) 22:09:57.24ID:G1cg7QSD
Firewallやろ
2018/08/19(日) 08:12:36.40ID:k1wUp59c
>>73
サンクス!
サンクス!
76デフォルトの名無しさん
2018/08/19(日) 20:03:15.69ID:WKvykaAV PostgreSQLからデータ抽出したいんだけど
何を使えばいいですか?
データの更新追加削除もします
何を使えばいいですか?
データの更新追加削除もします
2018/08/19(日) 20:06:52.16ID:/xcR5TgM
google
2018/08/19(日) 20:07:06.44ID:mWLpYff3
>>76
Dapper
Dapper
79デフォルトの名無しさん
2018/08/19(日) 20:29:51.81ID:WKvykaAV >>78
Npgsqlってのは駄目なの?
Npgsqlってのは駄目なの?
2018/08/19(日) 20:39:13.05ID:mWLpYff3
>>79
ADO.NET感覚でDataReaderやDataSet使いたいならそれでもいいと思うけど、今更感あるような
ADO.NET感覚でDataReaderやDataSet使いたいならそれでもいいと思うけど、今更感あるような
2018/08/19(日) 20:47:54.16ID:ztvlDXyo
83デフォルトの名無しさん
2018/08/19(日) 22:25:18.22ID:WKvykaAV メッソッドってregionで囲むもんなん?
これアウトライン用よね?
これアウトライン用よね?
84デフォルトの名無しさん
2018/08/19(日) 22:33:16.81ID:NgDo0XDZ 冗長なコード書くやつは畳みたいんだろう
2018/08/19(日) 22:43:06.20ID:Qn4G0bqC
畳みたくなるような長いクラスは書かない
86デフォルトの名無しさん
2018/08/19(日) 22:44:46.22ID:WKvykaAV2018/08/19(日) 23:10:34.65ID:0oWhlzQ+
全ての機能をFormに
2018/08/19(日) 23:19:59.25ID:hDKgqoRf
俺はregionによる仕分け多用するけど一般的な習慣とまでは言えないね
でも、単純にプロパティ、メソッド、イベント(OnXxxx)、コンストラクタに分類するだけでも
少なくとも視覚的な見やすさはだいぶ違うと思うよ
MSDNライブラリのクラスメンバー一覧がそういう分類じゃなく単純にアルファベット順だったら
どうか想像すりゃ分かると思うけど
でも、単純にプロパティ、メソッド、イベント(OnXxxx)、コンストラクタに分類するだけでも
少なくとも視覚的な見やすさはだいぶ違うと思うよ
MSDNライブラリのクラスメンバー一覧がそういう分類じゃなく単純にアルファベット順だったら
どうか想像すりゃ分かると思うけど
2018/08/20(月) 20:47:47.03ID:4Ys3BH8f
複数のメソッドをregionで囲むはまだ許せるが、くそ長いメソッドの一部をregionで囲って短く見せるのは許せない
2018/08/20(月) 21:12:28.08ID:dwFWVIwC
>くそ長いメソッドの一部をregionで囲って短く見せる
海外サイトでサンプル漁ってると時々見かけるな
海外サイトでサンプル漁ってると時々見かけるな
91デフォルトの名無しさん
2018/08/20(月) 21:18:42.69ID:7wKYHqTA まあアウトラインってスコープ単位で線引されるからね
regionは昔の機能と思っていいよ
regionは昔の機能と思っていいよ
2018/08/20(月) 21:21:04.27ID:Uo4wU7xn
メソッドはregionで囲まなくても普通に畳めるよww
93デフォルトの名無しさん
2018/08/20(月) 21:23:33.78ID:7wKYHqTA >>92
畳めるけどメソッドをregionで囲ってるソースみること結構あるわ
畳めるけどメソッドをregionで囲ってるソースみること結構あるわ
94デフォルトの名無しさん
2018/08/20(月) 21:23:49.70ID:7wKYHqTA ホント謎
2018/08/20(月) 21:41:03.34ID:UWgl1tII
メソッド単位で囲ってるのは俺も謎だと思ってた
昔は普通にたたむのできなくてその名残とかなのかもしかして普通にたためるの知らないのか
昔は普通にたたむのできなくてその名残とかなのかもしかして普通にたためるの知らないのか
2018/08/20(月) 21:43:29.04ID:/2kqdAhT
メソッドで畳めないIDE使ってるとか?
2018/08/20(月) 21:45:48.75ID:1JpQrvUt
IEnumerable、IDisposable、IEquatableみたいな定型インターフェイスの実装は邪魔なんでregionで括ってるわ
あとToStringやらGetHashCodeのオーバーライドなんかも
あとToStringやらGetHashCodeのオーバーライドなんかも
2018/08/20(月) 21:50:55.75ID:DUHqVJSw
>>97
.NET Frameworkのライブラリと同じように作らなきゃいけないと勘違いしてた頃は俺もそれやってた
アプリと不特定多数向けのライブラリは作り方が違ってていい、アプリはなるべく絞り込んで作るのがよい、
ということを理解してからは無駄なコードが減って必要なくなった
.NET Frameworkのライブラリと同じように作らなきゃいけないと勘違いしてた頃は俺もそれやってた
アプリと不特定多数向けのライブラリは作り方が違ってていい、アプリはなるべく絞り込んで作るのがよい、
ということを理解してからは無駄なコードが減って必要なくなった
2018/08/20(月) 22:10:27.90ID:FTwuHoIr
不特定多数向けのライブラリを作ってるのかもしれないだろ
100デフォルトの名無しさん
2018/08/20(月) 23:12:34.39ID:4xbzQ56O IDisposableはusing使うために必須だからなあ
101デフォルトの名無しさん
2018/08/21(火) 00:18:54.40ID:oo1eFPzK HttpClientみたいにsession繋ぎっぱなしが推奨されてるのにusing使う奴
102デフォルトの名無しさん
2018/08/21(火) 00:23:49.00ID:2/I2BB9Y >>101
なんでそのルールをセッション繋ぎっぱなしが推奨されないものにまで適用しなきゃいけないの?
なんでそのルールをセッション繋ぎっぱなしが推奨されないものにまで適用しなきゃいけないの?
103デフォルトの名無しさん
2018/08/21(火) 00:27:03.72ID:2ZNryZEm ここで聞くことでもないんだけど適当に意見くだせえ
仮に外部設計書・内部設計書・詳細設計書が必要として、
詳細設計書は別ファイルで作成するよりxmlドキュメントコメント使って生成したxmlファイル使った方がよっぽどいいよね?
仮に外部設計書・内部設計書・詳細設計書が必要として、
詳細設計書は別ファイルで作成するよりxmlドキュメントコメント使って生成したxmlファイル使った方がよっぽどいいよね?
104デフォルトの名無しさん
2018/08/21(火) 00:40:44.14ID:lLRe5osi105デフォルトの名無しさん
2018/08/21(火) 00:46:11.78ID:Fn3PsyHg >>102
日本語読めます?
日本語読めます?
106デフォルトの名無しさん
2018/08/21(火) 00:50:51.67ID:1ei+2zpw 最初の設計がおかしかったからこんなことになった
using使えるような新しいライブラリを出してこないMSが悪い
pythonだったらpython的でないと言う理由で新しいライブラリが出てくる
using使えるような新しいライブラリを出してこないMSが悪い
pythonだったらpython的でないと言う理由で新しいライブラリが出てくる
107デフォルトの名無しさん
2018/08/21(火) 01:07:05.30ID:krr9M76P >>101
ファイルの利用が終わったのにすぐにファイルハンドルを解放しないとか不便でしょうが
ファイルの利用が終わったのにすぐにファイルハンドルを解放しないとか不便でしょうが
108デフォルトの名無しさん
2018/08/21(火) 01:46:45.25ID:2ZNryZEm >>104
ドキュメントコメントは内部設計なの?
サイトによって言ってること違って混乱してる
内部設計書=詳細設計書と書いてるところもあれば、
内部設計書=複数の処理の流れ、詳細設計書=ドキュメントコメントってところもある
自然言語でコード書いた奴は見当違いで本来必要の無い何かって認識だった。会社と人によって違うのかな
ドキュメントコメントは内部設計なの?
サイトによって言ってること違って混乱してる
内部設計書=詳細設計書と書いてるところもあれば、
内部設計書=複数の処理の流れ、詳細設計書=ドキュメントコメントってところもある
自然言語でコード書いた奴は見当違いで本来必要の無い何かって認識だった。会社と人によって違うのかな
109デフォルトの名無しさん
2018/08/21(火) 02:00:13.53ID:lLRe5osi >>108
詳細設計はCOBOL時代の名残りだ
パンチカードや80x24文字の画面でコーディングしてた頃はソースコードは純粋なアウトプットであり、
ソース上で試行錯誤したりソース眺めながらコミュニケーションしたりするなんていう発想は無かったの
プログラミングはタイピングの前に完了していなければならず、詳細設計を作成することこそが今でいうコーディング工程そのものだったんだよ
本来全く必要のないもの、でまさに正しいんだよ
詳細設計はCOBOL時代の名残りだ
パンチカードや80x24文字の画面でコーディングしてた頃はソースコードは純粋なアウトプットであり、
ソース上で試行錯誤したりソース眺めながらコミュニケーションしたりするなんていう発想は無かったの
プログラミングはタイピングの前に完了していなければならず、詳細設計を作成することこそが今でいうコーディング工程そのものだったんだよ
本来全く必要のないもの、でまさに正しいんだよ
110デフォルトの名無しさん
2018/08/21(火) 02:01:33.41ID:NrpzP/Hk >>106
HttpClientFactoryも知らないおじいちゃんこんにちは
HttpClientFactoryも知らないおじいちゃんこんにちは
111デフォルトの名無しさん
2018/08/21(火) 07:18:27.76ID:K3bJIWvH112デフォルトの名無しさん
2018/08/21(火) 09:21:19.00ID:6+/Jo0uy 設計書ネタはスレちがくね?
113デフォルトの名無しさん
2018/08/21(火) 09:58:08.14ID:eCXr2PsD 質問者すらそう言ってるが
言及したがりのバカが沸いたからしゃーない
言及したがりのバカが沸いたからしゃーない
114デフォルトの名無しさん
2018/08/21(火) 10:26:32.76ID:UjHMgN47 しかも最初の疑問点からずれた話題だけを掘り下げるという意味不明な状態
115デフォルトの名無しさん
2018/08/22(水) 12:27:18.26ID:DYb1gEuJ Win32API関数でのエラー処理について質問です
var DllFilePath = "hogehoge.dll";
handle = LoadLibrary(DllFilePath);
if (handle == IntPtr.Zero)
{
throw new System.ComponentModel.Win32Exception();
}
↑のコードで例外をthrowするときに例外のMessageにDllFilePathの値を追加したいのですが
throw new System.ComponentModel.Win32Exception(DllFilePath)
とすると本来のエラーメッセージが上書きされてしまいます。
var DllFilePath = "hogehoge.dll";
try
{
handle = LoadLibrary(DllFilePath);
if (handle == IntPtr.Zero)
{
throw new System.ComponentModel.Win32Exception();
}
}
catch(System.ComponentModel.Win32Exception e)
{
throw new System.ComponentModel.Win32Exception($"{e.Message} \"{DllFileName}\"", e);
}
こうすれば期待通りの内容にできるのですがAPI呼び出しの度に例外処理を書くのは
コードが冗長になってしまうし何より面倒なのでうまいこと簡単に書けないか悩んでいます。
何かいい方法は無いですかね?
var DllFilePath = "hogehoge.dll";
handle = LoadLibrary(DllFilePath);
if (handle == IntPtr.Zero)
{
throw new System.ComponentModel.Win32Exception();
}
↑のコードで例外をthrowするときに例外のMessageにDllFilePathの値を追加したいのですが
throw new System.ComponentModel.Win32Exception(DllFilePath)
とすると本来のエラーメッセージが上書きされてしまいます。
var DllFilePath = "hogehoge.dll";
try
{
handle = LoadLibrary(DllFilePath);
if (handle == IntPtr.Zero)
{
throw new System.ComponentModel.Win32Exception();
}
}
catch(System.ComponentModel.Win32Exception e)
{
throw new System.ComponentModel.Win32Exception($"{e.Message} \"{DllFileName}\"", e);
}
こうすれば期待通りの内容にできるのですがAPI呼び出しの度に例外処理を書くのは
コードが冗長になってしまうし何より面倒なのでうまいこと簡単に書けないか悩んでいます。
何かいい方法は無いですかね?
116デフォルトの名無しさん
2018/08/22(水) 12:58:43.22ID:GmRbaMy/ >>115
Win32Exceptionを継承して使う
Win32Exceptionを継承して使う
117デフォルトの名無しさん
2018/08/22(水) 13:00:35.25ID:Ua1FlSB5 >>115
public class LoadLibraryFailedException : Win32Exception
{
public LoadLibraryFailedException (string path)
{ DllPath = path; }
public string DllPath {get; private set; }
...
}
public class LoadLibraryFailedException : Win32Exception
{
public LoadLibraryFailedException (string path)
{ DllPath = path; }
public string DllPath {get; private set; }
...
}
118デフォルトの名無しさん
2018/08/22(水) 14:32:10.34ID:DYb1gEuJ Messageに情報を足すことばかりが頭にあって
情報を別のプロパティに持たせる発想がなかった…
こっちのほうがcatchする側で融通が利かせやすいし
クラスやプロパティの名前を調整すればLoadLibraryに限らず
他のAPI呼び出しにも汎用的に使えそうでいいですね
この方法で検討してみます。ありがとうございました
情報を別のプロパティに持たせる発想がなかった…
こっちのほうがcatchする側で融通が利かせやすいし
クラスやプロパティの名前を調整すればLoadLibraryに限らず
他のAPI呼び出しにも汎用的に使えそうでいいですね
この方法で検討してみます。ありがとうございました
119デフォルトの名無しさん
2018/08/23(木) 11:52:17.79ID:+a3jfYk1 すんません初歩駅な質問なんですが
フォームアプリのコントロールに
ボリュームやスライダーのような可変データコントロールは無いのでしょうか?
似たのはNumericUpDownがありますが・・・
これの画像を差し替えてボリューム風にしろってことですか?
フォームアプリのコントロールに
ボリュームやスライダーのような可変データコントロールは無いのでしょうか?
似たのはNumericUpDownがありますが・・・
これの画像を差し替えてボリューム風にしろってことですか?
120デフォルトの名無しさん
2018/08/23(木) 12:20:54.20ID:Qdf2BjgW >>119
トラックバー
トラックバー
121デフォルトの名無しさん
2018/08/23(木) 12:40:46.09ID:+a3jfYk1 >>120
おお!「コモンコントロール」にも他カテゴリにも無いコントロールがあったのか!
完全に見落としてました
ところでこれの画像を差し替えて丸型回転ノブにすることはできるんでしょうか?
まだ勉強不足でよくわかってないのですが
Imageプロパティとか無いからできないかな?
おお!「コモンコントロール」にも他カテゴリにも無いコントロールがあったのか!
完全に見落としてました
ところでこれの画像を差し替えて丸型回転ノブにすることはできるんでしょうか?
まだ勉強不足でよくわかってないのですが
Imageプロパティとか無いからできないかな?
122デフォルトの名無しさん
2018/08/23(木) 13:36:36.72ID:XFHRsDpy ノブに変えるのは
おお難しいんじゃあ〜
おお難しいんじゃあ〜
123デフォルトの名無しさん
2018/08/23(木) 13:42:16.42ID:OU0cRkrI 初心者に回転ノブの実装は難しいと思う
ってか使いにくいだろ
ってか使いにくいだろ
124デフォルトの名無しさん
2018/08/23(木) 13:58:21.08ID:oqmXoghj125デフォルトの名無しさん
2018/08/23(木) 14:11:46.80ID:YLcqAqh8 volatile キーワードの役割がどうしても理解できないので教えてください。
自分の考えでは、以下のようなプログラムを最適化ありでコンパイルして実行すると
while (loop) ; のループから抜け出すことができないから
volatile キーワードが役に立つのかと思ったのですが、
残念ながら(?)実際に試すと普通にループを抜け出せてしまいました。
class Program
{
static bool loop = true;
static void Main(string[] args)
{
new Thread(() =>
{
Thread.Sleep(1000);
loop = false;
}).Start();
while (loop) ;
Console.WriteLine("End");
}
}
そもそも、volatile がある場合とない場合で動作が変わるコードを
ただの1つも作り出すことができていない状態なので、
何か volatile の役割を示すコードの例を示していただけると嬉しいです。
よろしくお願いします。
自分の考えでは、以下のようなプログラムを最適化ありでコンパイルして実行すると
while (loop) ; のループから抜け出すことができないから
volatile キーワードが役に立つのかと思ったのですが、
残念ながら(?)実際に試すと普通にループを抜け出せてしまいました。
class Program
{
static bool loop = true;
static void Main(string[] args)
{
new Thread(() =>
{
Thread.Sleep(1000);
loop = false;
}).Start();
while (loop) ;
Console.WriteLine("End");
}
}
そもそも、volatile がある場合とない場合で動作が変わるコードを
ただの1つも作り出すことができていない状態なので、
何か volatile の役割を示すコードの例を示していただけると嬉しいです。
よろしくお願いします。
126デフォルトの名無しさん
2018/08/23(木) 15:15:56.49ID:MTIo/8hT127デフォルトの名無しさん
2018/08/23(木) 15:23:55.44ID:7meTQdNO マジレスするとメッセージ捕まえて
自力で描画すれば可能なんだけど
労力に見会わないのでお勧めしない
webやWPF, UWPならグラ弄るの簡単
自力で描画すれば可能なんだけど
労力に見会わないのでお勧めしない
webやWPF, UWPならグラ弄るの簡単
128デフォルトの名無しさん
2018/08/23(木) 15:58:07.77ID:yzuHUqjv 労力かけてそんな使いにくいUI作る必要ないだろ
129デフォルトの名無しさん
2018/08/23(木) 19:00:57.46ID:4aOJVToK たぶん音量調整とかしたいんだろうけど
そんなui見かけないのは使いづらいからでは?
そんなui見かけないのは使いづらいからでは?
130デフォルトの名無しさん
2018/08/23(木) 19:45:13.80ID:/L2wlbg3 regionの適切な使い方って結局どうすんのがいいんだ?
独学だし人のあんま見たことないからよくわからん
独学だし人のあんま見たことないからよくわからん
131デフォルトの名無しさん
2018/08/23(木) 19:50:59.55ID:Hj0kcImk 折れ線グラフとか棒グラフとか
3Dで立体的に表示できる機能なんかない?
開いたら開始地点から現在の値のトコまで棒が伸びていくアニメーションとか
リッチ感だしたいんだけど
3Dで立体的に表示できる機能なんかない?
開いたら開始地点から現在の値のトコまで棒が伸びていくアニメーションとか
リッチ感だしたいんだけど
132デフォルトの名無しさん
2018/08/23(木) 21:01:34.44ID:IbEC1I+s133デフォルトの名無しさん
2018/08/23(木) 23:07:37.52ID:nqcPx5oZ 自分の作ったプログラムをウェブで公開したいのですが、完全に独学のため、
リリース用のビルドをするにあたっての注意点がよくわかりません。
このウェブサイトにあるように、単純にリリースビルドすればそれでいいのでしょうか?
第5回 Windowsアプリケーションのデバッグ&リリース (5/5):連載簡単!Visual Studio .NET入門 - @IT
http://www.atmarkit.co.jp/ait/articles/0410/13/news100_5.html
また、リリースビルドした場合、デバッグ不足で予期しないエラーが発生した場合、何行目にエラーがあるとかそういう表示って出てこなくなるのですか?
リリース用のビルドをするにあたっての注意点がよくわかりません。
このウェブサイトにあるように、単純にリリースビルドすればそれでいいのでしょうか?
第5回 Windowsアプリケーションのデバッグ&リリース (5/5):連載簡単!Visual Studio .NET入門 - @IT
http://www.atmarkit.co.jp/ait/articles/0410/13/news100_5.html
また、リリースビルドした場合、デバッグ不足で予期しないエラーが発生した場合、何行目にエラーがあるとかそういう表示って出てこなくなるのですか?
134デフォルトの名無しさん
2018/08/23(木) 23:19:35.02ID:S0ZPdzES135デフォルトの名無しさん
2018/08/23(木) 23:24:55.20ID:AuVZlFM/ >>134
PDBの設定によるやろ…
PDBの設定によるやろ…
136デフォルトの名無しさん
2018/08/23(木) 23:55:38.28ID:OU0cRkrI >>133
pdbファイルも一緒に配布すればrelease版でも例外発生箇所を表示できる
pdbファイルも一緒に配布すればrelease版でも例外発生箇所を表示できる
137デフォルトの名無しさん
2018/08/23(木) 23:57:41.73ID:AuVZlFM/ >>136
リリースビルド時のフルパスがPDBに含まれないようにするのってどうやるんだっけ?
リリースビルド時のフルパスがPDBに含まれないようにするのってどうやるんだっけ?
138デフォルトの名無しさん
2018/08/24(金) 00:17:32.21ID:uCffaOwh >>137
[ビルド]-[出力]-[詳細設定]-[デバッグ情報]を「なし」に設定
[ビルド]-[出力]-[詳細設定]-[デバッグ情報]を「なし」に設定
139デフォルトの名無しさん
2018/08/24(金) 07:41:58.39ID:uu5lHyZK フォーマット指定の方法なんだけど
("id:{0}",変数)みたい0とかのインデックス指定なしに
記載する方法ってなかったっけ?
こんな感じ
("id:{}",変数)
あったような気がするのだが見つからない
("id:{0}",変数)みたい0とかのインデックス指定なしに
記載する方法ってなかったっけ?
こんな感じ
("id:{}",変数)
あったような気がするのだが見つからない
140デフォルトの名無しさん
2018/08/24(金) 08:05:28.79ID:1zvoR5Nf141デフォルトの名無しさん
2018/08/24(金) 08:16:29.54ID:srP6ovAZ142デフォルトの名無しさん
2018/08/24(金) 12:23:14.01ID:fKyaBZGN 計算処理クラスは自動テスト実現のため一時変数以外のインスタンスを持たせない
という方針を聞いたんですけどC#に例えるとどういう事ですか?
独り派遣で聞く人もおらず困っています
という方針を聞いたんですけどC#に例えるとどういう事ですか?
独り派遣で聞く人もおらず困っています
143デフォルトの名無しさん
2018/08/24(金) 12:53:09.08ID:ucGkXF3f なぜその方針を作った側の人に直接聞かないの
理解せずに間違ったことやったら最終的に叱られるのは君じゃないの?w
こういう人が2chで「コミュニケーションスキルガー」とか被害妄想全開で吠えてるんだろうなあ
理解せずに間違ったことやったら最終的に叱られるのは君じゃないの?w
こういう人が2chで「コミュニケーションスキルガー」とか被害妄想全開で吠えてるんだろうなあ
144デフォルトの名無しさん
2018/08/24(金) 12:54:55.58ID:/eex7TkL 2chとかいつの時代だよ
145デフォルトの名無しさん
2018/08/24(金) 13:47:23.02ID:7bl9vxOR 未来から来てる可能性だってあるじゃないか
146デフォルトの名無しさん
2018/08/24(金) 16:00:43.60ID:ILYVISJ2 状態を持たせずに純粋関数にした方が
バグが減って保守やテストがしやすいってことじゃろ
Mathクラスみたいに
バグが減って保守やテストがしやすいってことじゃろ
Mathクラスみたいに
147デフォルトの名無しさん
2018/08/24(金) 16:28:08.95ID:cHge5Sdm メソッドを全部staticにしたらいいんじゃね
もちろんstaticな変数は持たない
utilクラスみたいなもんだと思えば
もちろんstaticな変数は持たない
utilクラスみたいなもんだと思えば
148デフォルトの名無しさん
2018/08/24(金) 16:41:00.57ID:qtcVVPQQ それやるならstatic classってのがc#にはあったような
149デフォルトの名無しさん
2018/08/24(金) 17:06:07.87ID:7htaPF/P メソッドやクラスをstaticにしたところで他のクラスのインスタンスへの依存は防げないだろ
計算処理クラスなんてものが生み出されるようなレベルの現場だと、
ヘタにstatic強制なんかしたらstaticフィールドに状態持たせるバカが増えて余計に酷い状況になりそう
計算処理クラスなんてものが生み出されるようなレベルの現場だと、
ヘタにstatic強制なんかしたらstaticフィールドに状態持たせるバカが増えて余計に酷い状況になりそう
150デフォルトの名無しさん
2018/08/24(金) 17:54:49.70ID:g1+rhs2E151デフォルトの名無しさん
2018/08/24(金) 17:56:51.04ID:q0UJEScu Utilクラスってゴミ箱になりがちだから嫌いだわ。
計算処理クラスはなんとなく気持ちはわかるが。
delegateでは微妙に表現力が足りないから特定のinterface実装したクラスを受けるようにして、その引数と型を渡せばネットワーク上のどこかでインスタンスが起こされて実行されるようにした、みたいなケースじゃないの?
テストではないけど、ジョブスケジューラがdll名と引数をキューから拾って、appdomain切って動的にそのクラスを実装したdllを読み込んで実行してくれる、みたいなのは作ったことある。
計算処理クラスはなんとなく気持ちはわかるが。
delegateでは微妙に表現力が足りないから特定のinterface実装したクラスを受けるようにして、その引数と型を渡せばネットワーク上のどこかでインスタンスが起こされて実行されるようにした、みたいなケースじゃないの?
テストではないけど、ジョブスケジューラがdll名と引数をキューから拾って、appdomain切って動的にそのクラスを実装したdllを読み込んで実行してくれる、みたいなのは作ったことある。
152デフォルトの名無しさん
2018/08/24(金) 18:01:21.93ID:g1+rhs2E153デフォルトの名無しさん
2018/08/24(金) 18:44:47.51ID:h3eX92xO154デフォルトの名無しさん
2018/08/24(金) 19:20:46.35ID:s18ZTF9u >>150
マジで底辺のリーダーってこんなんがほとんどなの?こええ
マジで底辺のリーダーってこんなんがほとんどなの?こええ
155デフォルトの名無しさん
2018/08/24(金) 19:36:31.86ID:n2aXOJxU staticなナントカUtilクラスはJavaドカが好むよねー
staticなのに内部でインフラ異存しまくっててキレそうになるよ
staticなのに内部でインフラ異存しまくっててキレそうになるよ
156デフォルトの名無しさん
2018/08/24(金) 22:32:41.02ID:KbP5R+D4 失礼します。
ASP.NET MVC又はASP.NET MVC CoreのRazorビューから匿名型がサポートされない理由を説明してくださる方居ますか?
ASP.NET MVC又はASP.NET MVC CoreのRazorビューから匿名型がサポートされない理由を説明してくださる方居ますか?
157デフォルトの名無しさん
2018/08/24(金) 22:36:20.82ID:usF07bpd158デフォルトの名無しさん
2018/08/25(土) 00:04:54.82ID:K7SavMc/ >>157
はい。
.frameworkがpoorなのでサポート出来ない事が私には理解できません。
こちらのurlの記事では普通にプロパティで取得出来ているように見えますが…
http://architect-wat.hatenablog.jp/entry/20130501/1367415654
はい。
.frameworkがpoorなのでサポート出来ない事が私には理解できません。
こちらのurlの記事では普通にプロパティで取得出来ているように見えますが…
http://architect-wat.hatenablog.jp/entry/20130501/1367415654
159デフォルトの名無しさん
2018/08/25(土) 09:58:42.90ID:uF3Ar+0r >>158
匿名型なんて使わなきゃいい
匿名型なんて使わなきゃいい
160デフォルトの名無しさん
2018/08/25(土) 19:34:07.64ID:ZJ6IWHAy c#アプリって簡単に逆コンパイルで簡単にソース見れちゃうじゃん?
例えばAPIキーとかハードコーディングしてもしてなくても抜き出せてしまうけどどうすんの?
例えばAPIキーとかハードコーディングしてもしてなくても抜き出せてしまうけどどうすんの?
161デフォルトの名無しさん
2018/08/25(土) 19:41:36.20ID:ajbZjNWE >>160
リバースエンジニアリングはどのくらいの労力がかかるかだけの違いで解析できないものなんかないから諦めろ
リバースエンジニアリングはどのくらいの労力がかかるかだけの違いで解析できないものなんかないから諦めろ
162デフォルトの名無しさん
2018/08/25(土) 19:57:01.93ID:Z58Bgt4H >>160
ハッシュ値使うねん
ハッシュ値使うねん
163デフォルトの名無しさん
2018/08/25(土) 20:08:24.14ID:6fvgv2wi >>162
ハッシュからAPIキーは復元できないでしょ
ハッシュからAPIキーは復元できないでしょ
164デフォルトの名無しさん
2018/08/25(土) 20:21:29.85ID:nj06+sqx >>160
環境変数
環境変数
165デフォルトの名無しさん
2018/08/25(土) 20:50:49.58ID:J4BiRy9W 200週くらい周回遅れの話題だ
166デフォルトの名無しさん
2018/08/25(土) 21:51:49.34ID:uGtRYhlb >>163
間接的に別なのから取得するとか
間接的に別なのから取得するとか
167デフォルトの名無しさん
2018/08/25(土) 21:53:27.00ID:Y3DnwOBx168デフォルトの名無しさん
2018/08/25(土) 21:53:40.13ID:Y3DnwOBx >>166
どういうこと?
どういうこと?
169デフォルトの名無しさん
2018/08/26(日) 09:06:38.21ID:mvt+Dc+2170デフォルトの名無しさん
2018/08/26(日) 09:44:13.36ID:O9adGcKd171デフォルトの名無しさん
2018/08/26(日) 12:36:40.81ID:KYhaaDP0172デフォルトの名無しさん
2018/08/26(日) 12:41:52.49ID:d3emHXQQ >>170
サーバーから貰うときの認証は?
サーバーから貰うときの認証は?
173デフォルトの名無しさん
2018/08/26(日) 12:45:24.17ID:MAg8NxfR >>172
認証のパスワードなどの手続を登録した人に別途配布
認証のパスワードなどの手続を登録した人に別途配布
174デフォルトの名無しさん
2018/08/26(日) 12:48:09.71ID:mLZLsxB6 サーバーから受け取るようにしたとしてもクライアントが丸見えなら同じ方法でサーバーからキー抜けるだろ
ちゃんとやるなら、開発者だけが知ってる秘密鍵でシリアルキー作ってクライアントごとに払い出すようにする
そしてサーバー側でシリアルキーに基づいてクライアントを識別し、クライアント単位でクォータや権限の制御をする
漏れる前提で他のクライアントに影響が出ないように設計するのが基本的な戦略だよ
ちゃんとやるなら、開発者だけが知ってる秘密鍵でシリアルキー作ってクライアントごとに払い出すようにする
そしてサーバー側でシリアルキーに基づいてクライアントを識別し、クライアント単位でクォータや権限の制御をする
漏れる前提で他のクライアントに影響が出ないように設計するのが基本的な戦略だよ
175デフォルトの名無しさん
2018/08/26(日) 12:55:18.75ID:IHY0+SV3 どうでもいいけど、もともとの質問の趣旨は
ネイティブコードと同程度の秘匿性でバイナリにデータを隠せるかじゃないの?
それは無理、で終わりだと思うけど。
ネイティブコードと同程度の秘匿性でバイナリにデータを隠せるかじゃないの?
それは無理、で終わりだと思うけど。
176デフォルトの名無しさん
2018/08/26(日) 12:56:47.03ID:g9QDbTAC APIキーって5chのAPIみたいなの想像してたけど違うの?
それだとクライアント毎に払い出しても誰か一人のがばれたら使用権貰えちゃうけど
それだとクライアント毎に払い出しても誰か一人のがばれたら使用権貰えちゃうけど
177デフォルトの名無しさん
2018/08/26(日) 12:57:13.81ID:mLZLsxB6 >>175
APIキーを抜くくらいならネイティブでも難しくないよ
APIキーを抜くくらいならネイティブでも難しくないよ
178デフォルトの名無しさん
2018/08/26(日) 13:13:33.45ID:mLZLsxB6 >>176
それで困るのは5chではなくブラウザの開発者だろ?
5chにとっては、特定のクライアント(この場合は開発者単位な)からの不正な大量投稿があれば、
そのクライアント(開発者)を丸ごとBANしてしまえばいい。他のクライアント(開発者)には影響しない。それを防ぐ責任はあくまでクライアントの開発者にある。
ユーザー単位で払い出すにしろ開発者単位て払い出すにしろ、個別に払い出すことで責任をAPIキーを払い出された側に転嫁できるんだよ。
それで困るのは5chではなくブラウザの開発者だろ?
5chにとっては、特定のクライアント(この場合は開発者単位な)からの不正な大量投稿があれば、
そのクライアント(開発者)を丸ごとBANしてしまえばいい。他のクライアント(開発者)には影響しない。それを防ぐ責任はあくまでクライアントの開発者にある。
ユーザー単位で払い出すにしろ開発者単位て払い出すにしろ、個別に払い出すことで責任をAPIキーを払い出された側に転嫁できるんだよ。
179デフォルトの名無しさん
2018/08/26(日) 13:14:28.64ID:fHWcXfSA >>178
なるほど
なるほど
180デフォルトの名無しさん
2018/08/26(日) 13:22:20.16ID:KYhaaDP0 ソースコード丸見えだから、APIキーがどこにあるかわかるよね
そうやって海賊版作れてしまうわけだ
そうやって海賊版作れてしまうわけだ
181デフォルトの名無しさん
2018/08/26(日) 14:46:35.94ID:VBsyc88B 流石にAPIキーを普通に文字列で書くアホはnativeでも居ないだろ。
難読化する。
ソースコードが丸見えだとしても問題無い気はする。どーせnativeでも逆アセンブルするんだし。
カジュアルな対策なら、c#には逆コンパイルされないILコード使って復号ロジック書くべきかと思うな。
ちゃんとやるならドングルかライセンスサーバのどっちかじゃねえかな。
難読化する。
ソースコードが丸見えだとしても問題無い気はする。どーせnativeでも逆アセンブルするんだし。
カジュアルな対策なら、c#には逆コンパイルされないILコード使って復号ロジック書くべきかと思うな。
ちゃんとやるならドングルかライセンスサーバのどっちかじゃねえかな。
182デフォルトの名無しさん
2018/08/26(日) 16:44:19.57ID:Aux3ZmsD nativeと同程度の隠匿で良いならそこだけnativeにすれば良いだけやん
183デフォルトの名無しさん
2018/08/26(日) 16:46:40.21ID:UH8BRHfz oauthのキーなら速攻でばれるし文字列でそのまま書くな。難読かしても意味ねぇし。やるだけ無駄。
184デフォルトの名無しさん
2018/08/26(日) 16:48:17.70ID:7VY92v0a DBのパスワードとかソースに直書きしてるわ
ハッシュにしてもどこで復号すればいいのか
ハッシュにしてもどこで復号すればいいのか
185デフォルトの名無しさん
2018/08/26(日) 17:33:04.42ID:Lq+jppE1 自前でやるだけのセキュリティのスキルがあるとこは珍しい
素直にASP.NET Identity + IdentityServerでOIDC使っとくのが懸命な判断
素直にASP.NET Identity + IdentityServerでOIDC使っとくのが懸命な判断
186デフォルトの名無しさん
2018/08/26(日) 17:45:57.13ID:6lhNHki6 こういう大事な部分を手軽で強固なセキュリティとしてなんでMSは用意しておかないんだ?
187デフォルトの名無しさん
2018/08/26(日) 17:47:36.13ID:vKa62JvF はい意味不明
OIDCってアプリ側がユーザーの認証認可をする仕組みだぞ?
それをどうクライアントアプリのAPIキーの隠蔽に使うのか教えてくれ
OIDCってアプリ側がユーザーの認証認可をする仕組みだぞ?
それをどうクライアントアプリのAPIキーの隠蔽に使うのか教えてくれ
188デフォルトの名無しさん
2018/08/26(日) 17:47:37.20ID:86UvKUWS >>186
もうすでにC#関係なくなっているが手軽で強固なやり方ってどんなことよ?
もうすでにC#関係なくなっているが手軽で強固なやり方ってどんなことよ?
189デフォルトの名無しさん
2018/08/26(日) 17:49:20.77ID:vKa62JvF190デフォルトの名無しさん
2018/08/26(日) 17:49:59.20ID:6lhNHki6 まあそれよりもソースを復元できるのが問題だわな
191デフォルトの名無しさん
2018/08/26(日) 17:50:52.91ID:O9adGcKd192デフォルトの名無しさん
2018/08/26(日) 17:51:50.11ID:86UvKUWS >>190
中間言語形式だけでなくスクリプト言語も否定する気かw
中間言語形式だけでなくスクリプト言語も否定する気かw
193デフォルトの名無しさん
2018/08/26(日) 17:54:18.49ID:Lq+jppE1 >>187
チュートリアルもやったことないのかよ…
チュートリアルもやったことないのかよ…
194デフォルトの名無しさん
2018/08/26(日) 17:56:14.36ID:vKa62JvF195デフォルトの名無しさん
2018/08/26(日) 17:57:02.40ID:6lhNHki6 >>192
サーバー型はビジネスロジックがサーバー内にあるからそこで防げるけど、c#アプリは無理じゃん
サーバー型はビジネスロジックがサーバー内にあるからそこで防げるけど、c#アプリは無理じゃん
196デフォルトの名無しさん
2018/08/26(日) 18:00:17.07ID:O9adGcKd197デフォルトの名無しさん
2018/08/26(日) 18:02:46.79ID:6lhNHki6 >>196
UWPじゃなくFormアプリでおねがい
UWPじゃなくFormアプリでおねがい
198デフォルトの名無しさん
2018/08/26(日) 18:04:53.73ID:vKa62JvF >>196
これユーザーが入力した認証情報を安全に保持するのと、サーバー側のリソースに関するユーザーの認証認可をする話だよね
開発者の機密情報を安全にクライアントに持たせるのとは全く別の問題だよ(そしてそれは原理的に不可能)
これユーザーが入力した認証情報を安全に保持するのと、サーバー側のリソースに関するユーザーの認証認可をする話だよね
開発者の機密情報を安全にクライアントに持たせるのとは全く別の問題だよ(そしてそれは原理的に不可能)
199198
2018/08/26(日) 18:15:55.92ID:vKa62JvF もちろんクライアント側で復号する必要がなくて、単にデータストアをクライアント側に置きたいだけなら、サーバー側で暗号化すればいいだけだよ
原理的に不可能なのはクライアント側でも機密情報を復号して使う必要がある場合の話ね
原理的に不可能なのはクライアント側でも機密情報を復号して使う必要がある場合の話ね
200デフォルトの名無しさん
2018/08/26(日) 18:22:46.80ID:wR7TFJf0 こんな解説しないと分からないってのが信じられん
201デフォルトの名無しさん
2018/08/26(日) 18:40:28.29ID:O9adGcKd >>198
だから「それなり」って書いてあるだろ
だから「それなり」って書いてあるだろ
202デフォルトの名無しさん
2018/08/26(日) 23:06:54.05ID:BDbiNYg/ Dapperを使用するにあたり、下記の「DAO」クラスの「SelectDAO」メソッドの
戻り値を抽象的に表現できれば、SQL与えるだけで共通に使えるのになと思っているのですが
戻り値を下記のList<IAB>のように書く方法はあるでしょうか?
interface IAB{ }
public class A : IAB { public string nen{ get; set; } }
public class B : IAB { public string nen{ get; set; } }
public class DAO
{
public List<IAB> SelectDAO(string sql)
{
System.Data.IDbConnection _con = new SqlConnection("接続文字列");
return (List<IAB>)_con.Query<IAB>(sql);//DynamicMethodに対する型オーナーが無効です。
と怒られます。
}
}
戻り値を抽象的に表現できれば、SQL与えるだけで共通に使えるのになと思っているのですが
戻り値を下記のList<IAB>のように書く方法はあるでしょうか?
interface IAB{ }
public class A : IAB { public string nen{ get; set; } }
public class B : IAB { public string nen{ get; set; } }
public class DAO
{
public List<IAB> SelectDAO(string sql)
{
System.Data.IDbConnection _con = new SqlConnection("接続文字列");
return (List<IAB>)_con.Query<IAB>(sql);//DynamicMethodに対する型オーナーが無効です。
と怒られます。
}
}
203デフォルトの名無しさん
2018/08/26(日) 23:10:18.71ID:iDr2keD8 >>202
いやSQLを隠蔽するのがDAOなのにSQL渡したらダメだろ…
いやSQLを隠蔽するのがDAOなのにSQL渡したらダメだろ…
204デフォルトの名無しさん
2018/08/26(日) 23:12:59.95ID:hANAm2gW ようするにdaoなんか使わずに
odbc使いなさいということ
odbc使いなさいということ
205デフォルトの名無しさん
2018/08/26(日) 23:15:38.55ID:qu/vhMXg >>204
ODBCだなんて何十年前の話だよ…
ODBCだなんて何十年前の話だよ…
206デフォルトの名無しさん
2018/08/26(日) 23:26:06.62ID:HvpvLn4I207デフォルトの名無しさん
2018/08/26(日) 23:30:34.69ID:BDbiNYg/208デフォルトの名無しさん
2018/08/26(日) 23:32:55.01ID:acagJbyI API抜かれるってどのシーンで警戒してるの?サーバー上でアプリ起動してるとき?
209デフォルトの名無しさん
2018/08/26(日) 23:33:30.52ID:8W/FdQms 5chせんぶら
210デフォルトの名無しさん
2018/08/27(月) 10:42:42.81ID:YXkmN521 >>202
最終的にDapperも何らかのインスタンスをnewしないといけないのに
IABだけ渡されても何作ればいいのか分からないだろ
素直に
public List<T> SelectDAO<T>(string sql) where T : IAB
とかに
というかSelectDAOを呼び出した側はメンバの存在しないIABを使って何をすればいいのか
最終的にDapperも何らかのインスタンスをnewしないといけないのに
IABだけ渡されても何作ればいいのか分からないだろ
素直に
public List<T> SelectDAO<T>(string sql) where T : IAB
とかに
というかSelectDAOを呼び出した側はメンバの存在しないIABを使って何をすればいいのか
211デフォルトの名無しさん
2018/08/27(月) 13:05:39.06ID:97nSTlug >>207
いやそういう問題じゃなくて、SQLを書くんだったらDAOの中で書くんだよ
外からSelectクエリを文字列で受け取るってそれ使う側がDBのテーブル構造を知ってないとできないだろ
データストアの詳細を全く隠蔽できてない
いやそういう問題じゃなくて、SQLを書くんだったらDAOの中で書くんだよ
外からSelectクエリを文字列で受け取るってそれ使う側がDBのテーブル構造を知ってないとできないだろ
データストアの詳細を全く隠蔽できてない
212デフォルトの名無しさん
2018/08/27(月) 13:51:51.69ID:eRxM3k20 Dapperの実装ってこんな大変だったのか
213デフォルトの名無しさん
2018/08/27(月) 17:39:21.68ID:dQ3pJlXI214デフォルトの名無しさん
2018/08/27(月) 20:08:24.29ID:LmPAdMN0 VS2017WindowsFormsAppの実行ファイルを作成したのですが、
実行ファイルをzip圧縮するとサイズが10分の1以下になります
小さくなりすぎな気がするのですが正常の範囲で問題ありませんでしょうか?
または、実行ファイルが肥大?(余分な情報が含まれている等)していたりするのでしょうか?
なにかVS上で出来ることはありますか?
実行ファイルをzip圧縮するとサイズが10分の1以下になります
小さくなりすぎな気がするのですが正常の範囲で問題ありませんでしょうか?
または、実行ファイルが肥大?(余分な情報が含まれている等)していたりするのでしょうか?
なにかVS上で出来ることはありますか?
215デフォルトの名無しさん
2018/08/27(月) 20:15:33.37ID:RlI7Tzg3216デフォルトの名無しさん
2018/08/27(月) 20:39:37.08ID:liNpwcvg プログラミング初心者です
visual studio for mac2017をインストールしてC#を覚えたいんだけど、どうやって学習したらいいのか教えてください!
探してもなかなかいい日本語の学習動画やサイトがなくて、、、
visual studio for mac2017をインストールしてC#を覚えたいんだけど、どうやって学習したらいいのか教えてください!
探してもなかなかいい日本語の学習動画やサイトがなくて、、、
217デフォルトの名無しさん
2018/08/27(月) 20:46:49.73ID:lvpUeXXJ 未確認飛行が定番じゃないかね
218デフォルトの名無しさん
2018/08/27(月) 21:10:56.77ID:LmPAdMN0 >>215
ありがとうございます
1MBほどのファイルが80KBほどになるので、小さくなりすぎではないかと思いまして…
生成される実行ファイルが、プロジェクトのある時点から1MBほどに大きくなったような記憶もあります
読み込み差し替えした画像リソースが上手く外れていないのかなと想像したりしますが…
もうちょっと色々自分で調査してみます
ありがとうございます
1MBほどのファイルが80KBほどになるので、小さくなりすぎではないかと思いまして…
生成される実行ファイルが、プロジェクトのある時点から1MBほどに大きくなったような記憶もあります
読み込み差し替えした画像リソースが上手く外れていないのかなと想像したりしますが…
もうちょっと色々自分で調査してみます
219デフォルトの名無しさん
2018/08/27(月) 21:15:57.46ID:RlI7Tzg3220デフォルトの名無しさん
2018/08/27(月) 22:15:24.67ID:SLuEHwvX >>219
コードは5000行ほどですね。試しにプロジェクトを新規で作り直して中身を移し替えてみます
エクスポートインポート的なのがあれば良いのですがVS標準ではないみたいなので
大変ですが手動でやるしかないですが
コードは5000行ほどですね。試しにプロジェクトを新規で作り直して中身を移し替えてみます
エクスポートインポート的なのがあれば良いのですがVS標準ではないみたいなので
大変ですが手動でやるしかないですが
221デフォルトの名無しさん
2018/08/27(月) 22:26:04.85ID:liNpwcvg >>217
ありがとうございます!!!
ありがとうございます!!!
222デフォルトの名無しさん
2018/08/27(月) 22:36:37.03ID:HUaFIhtM >>217
あそこほんと神
あそこほんと神
223デフォルトの名無しさん
2018/08/27(月) 23:34:18.00ID:nPk8x20U OSデフォルト環境だとsn.exeがインストールされてないのか
隔離環境で作ったアセンブリにストロングネームつけたい時ってみんなどうしてんだ?
隔離環境で作ったアセンブリにストロングネームつけたい時ってみんなどうしてんだ?
224デフォルトの名無しさん
2018/08/27(月) 23:53:32.54ID:E9g9LiKW225デフォルトの名無しさん
2018/08/27(月) 23:57:11.03ID:rJOuuZ33 まあそうだね
C#でプログラミング入門って正直キツいと思うし、そういうコンセプトのところは
たぶんないんじゃないか
C#でプログラミング入門って正直キツいと思うし、そういうコンセプトのところは
たぶんないんじゃないか
226デフォルトの名無しさん
2018/08/27(月) 23:58:55.68ID:m5aHtIH2227デフォルトの名無しさん
2018/08/28(火) 00:04:55.80ID:5gce9PvO プログラミングはDelphi6からだったなー
\5,000でパッケージを買ったすぐ後に、無料版のDL提供が始まった思い出
高校生にとって\5,000は地味に痛かった……
\5,000でパッケージを買ったすぐ後に、無料版のDL提供が始まった思い出
高校生にとって\5,000は地味に痛かった……
228デフォルトの名無しさん
2018/08/28(火) 00:10:26.77ID:ym/+5T0Q229デフォルトの名無しさん
2018/08/28(火) 00:11:23.06ID:9uK3R3xF Androidもjavaのコンパイル通すだけなら
230デフォルトの名無しさん
2018/08/28(火) 00:36:01.05ID:a3yKcaCh 英語得意ではなくてプログラミング言語の経験が全くないのなら
本を買う方がいいような気もする・・
本を買う方がいいような気もする・・
231デフォルトの名無しさん
2018/08/28(火) 03:46:31.78ID:CqD+kceR 猫でも判るで十分じゃね
232デフォルトの名無しさん
2018/08/28(火) 07:03:31.88ID:CaCX57FK 神サイトはどぼんでしょ
あのサイトのコピペがC#する日本ITドカタを支えてる
あのサイトのコピペがC#する日本ITドカタを支えてる
233デフォルトの名無しさん
2018/08/28(火) 07:14:31.08ID:TOj+sTb1 そこもう情報が古くね
234デフォルトの名無しさん
2018/08/28(火) 12:15:17.24ID:psOOFlwe >>228
細かいことよくわかんないけどなんとなくコピペで動くからいいやとVB的に使うならそれでいいけど、
言語を一から体系的に習得しようとするとC#はかなり大変だよ
継続的に進化してるから実感がないかもしれないが、今のC#はもはやメジャーな言語の中ではC++に次いでトップクラスに複雑な部類
細かいことよくわかんないけどなんとなくコピペで動くからいいやとVB的に使うならそれでいいけど、
言語を一から体系的に習得しようとするとC#はかなり大変だよ
継続的に進化してるから実感がないかもしれないが、今のC#はもはやメジャーな言語の中ではC++に次いでトップクラスに複雑な部類
235デフォルトの名無しさん
2018/08/28(火) 12:27:46.49ID:Xl5gotOf 仕事でも趣味でも体系的に一から学ぶとかやっていたら何もできなくなる
自分の必要な部分以外勉強するのはもはや研究者
自分の必要な部分以外勉強するのはもはや研究者
236デフォルトの名無しさん
2018/08/28(火) 12:31:32.32ID:fGWTaV2a C#って、言語仕様で難し目なのはyield, dynamic, awaitくらいな気がする
複数ある実行環境や巨大なフレームワーク、コンパイル後のILの話まで含めたら複雑だと思う
複数ある実行環境や巨大なフレームワーク、コンパイル後のILの話まで含めたら複雑だと思う
237デフォルトの名無しさん
2018/08/28(火) 12:39:40.35ID:wSuYfii2 >>234
具体的に
具体的に
238デフォルトの名無しさん
2018/08/28(火) 13:10:00.14ID:psOOFlwe >>237
たとえば簡単なところでいうと、読み取り専用プロパティの定義には今何種類のバリエーションがあるか知ってる?
int Hoge { get { return 5; } }
int Hoge { get => 5; }
int Hoge => 5;
int Hoge { get; private set; } = 5;
int Hoge { get; } = 5;
これらにどういう違いがあってどういうときにどれを使うべきか初学者向けに説明できる?
たとえば簡単なところでいうと、読み取り専用プロパティの定義には今何種類のバリエーションがあるか知ってる?
int Hoge { get { return 5; } }
int Hoge { get => 5; }
int Hoge => 5;
int Hoge { get; private set; } = 5;
int Hoge { get; } = 5;
これらにどういう違いがあってどういうときにどれを使うべきか初学者向けに説明できる?
239デフォルトの名無しさん
2018/08/28(火) 13:12:12.91ID:H5BH2HV+240デフォルトの名無しさん
2018/08/28(火) 13:14:07.70ID:5WHkkAct C++やったことないから知らないどC++は基本的なことも複雑なイメージ
C#は極めるほど複雑なイメージ
C#は極めるほど複雑なイメージ
241デフォルトの名無しさん
2018/08/28(火) 13:14:21.36ID:5WHkkAct 基本はかんたん
242デフォルトの名無しさん
2018/08/28(火) 13:15:27.95ID:5WHkkAct >>238の例なら初心者は一番上だけ知っとけばいい
243デフォルトの名無しさん
2018/08/28(火) 13:20:49.83ID:onl38Ff8 複雑なことができると学習が困難
すべてを学習すること前提ならそうかもしれん
すべてを学習すること前提ならそうかもしれん
244デフォルトの名無しさん
2018/08/28(火) 13:55:05.69ID:8egnCxzp245デフォルトの名無しさん
2018/08/28(火) 14:22:59.40ID:MmXTTGRL >>244
>volatile がある場合とない場合で動作が変わるコード
難しいんじゃないかなあ
(1) 実行儒所を入れ替える
(2) 変数(メモリ)に直接アクセスしない
みたいな最適化がどういうケースでコンパイラによって行われるか、たぶん誰もよく知らないw
だけでなく、古い記事だけど
http://www.itmedia.co.jp/enterprise/articles/0503/23/news086_4.html
↑にあるように、CPUレベルの最適化はCPUに依存する
>volatile がある場合とない場合で動作が変わるコード
難しいんじゃないかなあ
(1) 実行儒所を入れ替える
(2) 変数(メモリ)に直接アクセスしない
みたいな最適化がどういうケースでコンパイラによって行われるか、たぶん誰もよく知らないw
だけでなく、古い記事だけど
http://www.itmedia.co.jp/enterprise/articles/0503/23/news086_4.html
↑にあるように、CPUレベルの最適化はCPUに依存する
246デフォルトの名無しさん
2018/08/28(火) 14:32:18.53ID:sGx9mZW+ 使ったことなくてググったけどそもそものvolatileに対する理解がなんか違う気がする
http://d.hatena.ne.jp/dotnetmemo/touch/20111023/1319380181
http://d.hatena.ne.jp/dotnetmemo/touch/20111023/1319380181
247デフォルトの名無しさん
2018/08/28(火) 14:33:27.71ID:d5vKjLdu >>125
volitateは「この変数はマルチスレッドで使うよ」と明示することによってシングルスレッドの場合にしか効果的ではないような実行速度の最適化技術を使わせないようにするだけであって、排他制御を自動で行うものではないのでは?
volitateは「この変数はマルチスレッドで使うよ」と明示することによってシングルスレッドの場合にしか効果的ではないような実行速度の最適化技術を使わせないようにするだけであって、排他制御を自動で行うものではないのでは?
248デフォルトの名無しさん
2018/08/28(火) 14:53:49.79ID:8egnCxzp >>245-247
皆さんレスどうもありがとうございます!
>>245
> >volatile がある場合とない場合で動作が変わるコード
> 難しいんじゃないかなあ
ありがとうございます。
ということは逆に言えば、volatile が無いことによって想定外の最適化が行われて
不具合につながること自体が起こりにくいものだと考えてもいいのでしょうか。
ただ仮にそうだとしても、お作法的には複数のスレッドからアクセスされる可能性のある
フィールドはすべてに volatile を付けるべきなのかなとも思うのですが、
CS0420 : volatile フィールドへの参照は、volatile として扱われません。
のような警告がうるさくてあまり volatile をつけたくないときもあるので悩んでしまいます。
皆さんレスどうもありがとうございます!
>>245
> >volatile がある場合とない場合で動作が変わるコード
> 難しいんじゃないかなあ
ありがとうございます。
ということは逆に言えば、volatile が無いことによって想定外の最適化が行われて
不具合につながること自体が起こりにくいものだと考えてもいいのでしょうか。
ただ仮にそうだとしても、お作法的には複数のスレッドからアクセスされる可能性のある
フィールドはすべてに volatile を付けるべきなのかなとも思うのですが、
CS0420 : volatile フィールドへの参照は、volatile として扱われません。
のような警告がうるさくてあまり volatile をつけたくないときもあるので悩んでしまいます。
249デフォルトの名無しさん
2018/08/28(火) 14:54:59.71ID:8egnCxzp >>246
参考ページのご紹介どうもありがとうございます。
実はそのページも読んでみたのですが
> ちなみに後者の記事では実際にvolatileをつけないと問題のあるコードが記載されている。
> 以下のコードをReleaseモードでビルドして、デバッグなしで実行すると終了しない。
> volatile をつける(static volatile bool complete = false;)と正しく終了する。
という記述に反して、私の環境(Win10, .NET Framework 4.7.1)では
volatile がなくても終了してしまうようです。
そもそも私にはそのページのコードと >>125 のコードが本質的に同じものに見えてしまい、
> volatileに対する理解がなんか違う気がする
とおっしゃることの真意が理解できていないのですが、
何かお気づきのことがあれば教えていただけないでしょうか。
>>247
レスありがとうございます。
つまり、volatite の有無で実行速度に差が出ることはあっても
計算結果が変わることはない、ということでしょうか。
そうであるなら気が楽なのですが、いくつかのページやここでの他の方のレスを読むと
どうしても確信が持てずにいます。
参考ページのご紹介どうもありがとうございます。
実はそのページも読んでみたのですが
> ちなみに後者の記事では実際にvolatileをつけないと問題のあるコードが記載されている。
> 以下のコードをReleaseモードでビルドして、デバッグなしで実行すると終了しない。
> volatile をつける(static volatile bool complete = false;)と正しく終了する。
という記述に反して、私の環境(Win10, .NET Framework 4.7.1)では
volatile がなくても終了してしまうようです。
そもそも私にはそのページのコードと >>125 のコードが本質的に同じものに見えてしまい、
> volatileに対する理解がなんか違う気がする
とおっしゃることの真意が理解できていないのですが、
何かお気づきのことがあれば教えていただけないでしょうか。
>>247
レスありがとうございます。
つまり、volatite の有無で実行速度に差が出ることはあっても
計算結果が変わることはない、ということでしょうか。
そうであるなら気が楽なのですが、いくつかのページやここでの他の方のレスを読むと
どうしても確信が持てずにいます。
250デフォルトの名無しさん
2018/08/28(火) 15:45:02.14ID:MmXTTGRL251デフォルトの名無しさん
2018/08/28(火) 16:26:12.47ID:8egnCxzp >>250
レスどうもありがとうございます。やはり、>>249 に書いたような
> volatite の有無で実行速度に差が出ることはあっても
> 計算結果が変わることはない
などということを期待してはいけないということでしょうか。
ただ、volatite が無いとどのような問題が起こるのかを理解していないと、
どのような場面で volatite を使えば確実性の保証が得られるのかも分からず、
結局は、なんとなく気分が悪いから volatite をつけておこう、
というレベルにとどまってしまうように思うのです。
確実である保証がないことを証明するというのは
一種の悪魔の証明なのかもしれませんが、
例えばオーバーフローの危険性を説明するなら
int x = int.MaxValue;
int y = 1;
int z = x + y;
のようなコードを見せればいいですし、
volatite についてもこのようなコードがないものかと期待して
質問させていただいた次第です。
レスどうもありがとうございます。やはり、>>249 に書いたような
> volatite の有無で実行速度に差が出ることはあっても
> 計算結果が変わることはない
などということを期待してはいけないということでしょうか。
ただ、volatite が無いとどのような問題が起こるのかを理解していないと、
どのような場面で volatite を使えば確実性の保証が得られるのかも分からず、
結局は、なんとなく気分が悪いから volatite をつけておこう、
というレベルにとどまってしまうように思うのです。
確実である保証がないことを証明するというのは
一種の悪魔の証明なのかもしれませんが、
例えばオーバーフローの危険性を説明するなら
int x = int.MaxValue;
int y = 1;
int z = x + y;
のようなコードを見せればいいですし、
volatite についてもこのようなコードがないものかと期待して
質問させていただいた次第です。
252デフォルトの名無しさん
2018/08/28(火) 16:40:01.44ID:d5vKjLdu volatie付けないとマルチスレッドだと遅くなるとかじゃないのか?
実行結果が変わるとか困るしそんなことになるならもっと知られてるはずなんだが
実行結果が変わるとか困るしそんなことになるならもっと知られてるはずなんだが
253デフォルトの名無しさん
2018/08/28(火) 16:45:40.99ID:3YXzfPPp >>251
最適化のオプション外してビルドしたら?
保険であるvolatiteが「どのようなときに必要か」はMSも公表していないんだからどうしようもない
volatiteを含んだ上で機能するコードをどうしても書きたいとかなら知らないけど
最適化のオプション外してビルドしたら?
保険であるvolatiteが「どのようなときに必要か」はMSも公表していないんだからどうしようもない
volatiteを含んだ上で機能するコードをどうしても書きたいとかなら知らないけど
254デフォルトの名無しさん
2018/08/28(火) 17:49:00.74ID:YFDGQHp2 保障のようなものでしょ
今はどうか知らないけど
例えば
a=1;
a=1;
a=1;
a=1;
a=1;
みたいなコードがあっても最適化でa=1が一回しか実行されないようにならないで
ちゃんと回数分実行されることの保証
今はどうか知らないけど
例えば
a=1;
a=1;
a=1;
a=1;
a=1;
みたいなコードがあっても最適化でa=1が一回しか実行されないようにならないで
ちゃんと回数分実行されることの保証
255デフォルトの名無しさん
2018/08/28(火) 18:10:01.12ID:YFDGQHp2 憶測で申し訳ないけど
a=calc0(a);
b=calc1(a);
が最終的にアセンブラレベルで
フィールドa = レジスタA
レジスタA =フィールドa
みたいなのが出てきた場合に
シングルスレッドであればあとのレジスタA=aの実行が無駄じゃないかと思って
実行しないとかありうるかもしれない
マルチスレッドならフィールドaが書き変わってる可能性あり
a=calc0(a);
b=calc1(a);
が最終的にアセンブラレベルで
フィールドa = レジスタA
レジスタA =フィールドa
みたいなのが出てきた場合に
シングルスレッドであればあとのレジスタA=aの実行が無駄じゃないかと思って
実行しないとかありうるかもしれない
マルチスレッドならフィールドaが書き変わってる可能性あり
256デフォルトの名無しさん
2018/08/28(火) 18:24:08.22ID:MzYJYWNz257デフォルトの名無しさん
2018/08/28(火) 19:01:48.59ID:5NsMegki >>233
新しいとこ教えてクレメンス
新しいとこ教えてクレメンス
258デフォルトの名無しさん
2018/08/28(火) 19:52:33.60ID:QdKJddNI コンパイラの最適化の問題でしょ?
非同期処理で使うフィールドはいれときゃいいんじゃね
非同期処理で使うフィールドはいれときゃいいんじゃね
259デフォルトの名無しさん
2018/08/28(火) 20:25:43.56ID:M3D05fOs ちなみに「お作法」という言葉を使う人間が書くコードは間違ってます
マメな
マメな
260デフォルトの名無しさん
2018/08/28(火) 20:43:21.83ID:sKgj8tWl261デフォルトの名無しさん
2018/08/29(水) 01:22:33.42ID:4YeISD0k >>251
C#ひいては.NET CILではJITないしAOTのコンパイルにかかる時間など故か
ネイティブC/C++程の最適化は行われないので具体例は難しいかもしれません
ということでネイティブC++(プログラム全体の最適化は無効)を例にしてみると
int n;
int main() {
n = 1;
n = 2;
return NO_ERROR;
}
上記コードは関数内でn = 1時点を参照してないし、最終的にn = 2じゃんという事で
「n = 1;」が削られマシンコードは「mov dword ptr [n], 2」とリターンコードのみに成ったりします
参照の場合においても変数の値を逐一読み込まずレジスタに保持して使い回すかもしれません
これを「volatile int n;」と修飾すれば、そのような最適化は抑制されます
C#コンパイラ(C#→CIL)レベルでは読み書きにvolatile.接頭辞などが付く事になる筈
https://msdn.microsoft.com/ja-jp/library/system.reflection.emit.opcodes.volatile
ECMA-335やJIS X 3016といった言語仕様にも記載されていますが、排他制御云々ではありません
C#ひいては.NET CILではJITないしAOTのコンパイルにかかる時間など故か
ネイティブC/C++程の最適化は行われないので具体例は難しいかもしれません
ということでネイティブC++(プログラム全体の最適化は無効)を例にしてみると
int n;
int main() {
n = 1;
n = 2;
return NO_ERROR;
}
上記コードは関数内でn = 1時点を参照してないし、最終的にn = 2じゃんという事で
「n = 1;」が削られマシンコードは「mov dword ptr [n], 2」とリターンコードのみに成ったりします
参照の場合においても変数の値を逐一読み込まずレジスタに保持して使い回すかもしれません
これを「volatile int n;」と修飾すれば、そのような最適化は抑制されます
C#コンパイラ(C#→CIL)レベルでは読み書きにvolatile.接頭辞などが付く事になる筈
https://msdn.microsoft.com/ja-jp/library/system.reflection.emit.opcodes.volatile
ECMA-335やJIS X 3016といった言語仕様にも記載されていますが、排他制御云々ではありません
262デフォルトの名無しさん
2018/08/29(水) 02:03:21.40ID:Hgs5A/6b つまり、実行結果が変わる場合があるということ?
263デフォルトの名無しさん
2018/08/29(水) 03:59:58.56ID:B+rDuEfA C#のデストラクタってどういう場面で必要なんでしょうか?
ネットの記事で見かけたところ
C++ではコンストラクタとセットでプログラマがマネージする必要があるが
C#ではシステムが自動でやるのであまり重要じゃないとありましたが
イマイチよく分かりませんでした
Win32API関数をマーシャリングして使用したりするとデストラクタは必要でしょうか?
実はそういうプログラムを自作してずっと使用してるのですが
デストラクタを書いてなくても特に問題が発生したことがありません
問題が出ないのはたまたま自分の使用環境が合ってるだけでしょうか?
デストラクタを書かないと具体的にどういう不具合が起こるんでしょうか?
ネットの記事で見かけたところ
C++ではコンストラクタとセットでプログラマがマネージする必要があるが
C#ではシステムが自動でやるのであまり重要じゃないとありましたが
イマイチよく分かりませんでした
Win32API関数をマーシャリングして使用したりするとデストラクタは必要でしょうか?
実はそういうプログラムを自作してずっと使用してるのですが
デストラクタを書いてなくても特に問題が発生したことがありません
問題が出ないのはたまたま自分の使用環境が合ってるだけでしょうか?
デストラクタを書かないと具体的にどういう不具合が起こるんでしょうか?
264デフォルトの名無しさん
2018/08/29(水) 05:59:16.57ID:saiWj2Qp ファイル・データベース・プロセスなどのリソースが解放されないから、
使用メモリサイズがドンドン大きくなっていく
つまり、メモリリーク
使用メモリサイズがドンドン大きくなっていく
つまり、メモリリーク
265デフォルトの名無しさん
2018/08/29(水) 09:22:23.43ID:o37zBcM2266デフォルトの名無しさん
2018/08/29(水) 09:30:37.55ID:SgdWV5FD vmmapを使った方が良いかも
HeapWalkerを使えるようになればなおよし
HeapWalkerを使えるようになればなおよし
267デフォルトの名無しさん
2018/08/29(水) 09:55:10.31ID:o37zBcM2268デフォルトの名無しさん
2018/08/29(水) 21:29:00.98ID:xKUAwzTF C♯にて数あるエクセルファイルの中身を読み取りあれこれしたい時、早く開いて読み取って閉じる方法ってありますか?
269デフォルトの名無しさん
2018/08/29(水) 21:43:41.82ID:bGCoQXPI >>268
何と比較して?
何と比較して?
270デフォルトの名無しさん
2018/08/29(水) 22:02:30.99ID:XA15QLm3271デフォルトの名無しさん
2018/08/29(水) 22:14:58.95ID:dev0xKTh 前提条件やマシン構成で大きく変わるので思いつく手段を全部書いて実測
272デフォルトの名無しさん
2018/08/30(木) 03:48:10.84ID:Aa4o8Duk >>268
バイナリーで読み込むのが最速
バイナリーで読み込むのが最速
273デフォルトの名無しさん
2018/08/30(木) 07:21:13.96ID:oIUtx1rS >>270
@シート名の読み込み。
A指定シートの指定列の読み込み。
B指定シートの指定行の読み込み。
こんな感じのを各エクセルに@〜Bを繰り返し行う。
ネットを参考に見て普通に開いて閉じるだと遅くて...
@シート名の読み込み。
A指定シートの指定列の読み込み。
B指定シートの指定行の読み込み。
こんな感じのを各エクセルに@〜Bを繰り返し行う。
ネットを参考に見て普通に開いて閉じるだと遅くて...
274デフォルトの名無しさん
2018/08/30(木) 09:55:38.76ID:l8OdYu1h275デフォルトの名無しさん
2018/08/30(木) 12:24:59.82ID:8MIxRZMr276デフォルトの名無しさん
2018/08/30(木) 17:27:14.97ID:Cn/2yBNm 質問させてください!
VisualStudio2017のC#Formアプリで自分用のテキストエディタを作ろうとしていて、
「改行した時、一行前の行頭に全角スペースがあった場合次の行頭にも全角スペースを挿入する」
というちょっとした自動インデントのような動作をさせたいのが目的です。
探り探りで一応目的の動作をするコードは書けたのですが、
「KeyUpからエンターキーの場合のみ分岐して座標をひとつ戻してから改行かどうかを確かめて、
行数を調べて一文字切り出してからカーソル位置を戻して比較して……」
をはじめとする行程で相当に回りくどいことをやっているような感覚があるので
もっとスマートな方法はないものかと思い質問に来ました。
どうぞよろしくお願いします。
https://ideone.com/8J7uBK
VisualStudio2017のC#Formアプリで自分用のテキストエディタを作ろうとしていて、
「改行した時、一行前の行頭に全角スペースがあった場合次の行頭にも全角スペースを挿入する」
というちょっとした自動インデントのような動作をさせたいのが目的です。
探り探りで一応目的の動作をするコードは書けたのですが、
「KeyUpからエンターキーの場合のみ分岐して座標をひとつ戻してから改行かどうかを確かめて、
行数を調べて一文字切り出してからカーソル位置を戻して比較して……」
をはじめとする行程で相当に回りくどいことをやっているような感覚があるので
もっとスマートな方法はないものかと思い質問に来ました。
どうぞよろしくお願いします。
https://ideone.com/8J7uBK
277デフォルトの名無しさん
2018/08/30(木) 18:25:03.14ID:iISOYGhU エディタはそんなもん
作るの超めんどい
作るの超めんどい
278デフォルトの名無しさん
2018/08/30(木) 18:56:29.70ID:2QdSuJnz task難しすぎない…?
非同期が難しいのは当然だけどこんな躓いたのc#が初めて
非同期が難しいのは当然だけどこんな躓いたのc#が初めて
279デフォルトの名無しさん
2018/08/30(木) 19:01:33.74ID:16om6f/5 スレッドのシーケンシャル図みたいなのに書き出すといいよ
まあスレッドセーフな構造を理解してるのが大前提だけど
まあスレッドセーフな構造を理解してるのが大前提だけど
280デフォルトの名無しさん
2018/08/30(木) 19:05:11.47ID:syYDPcaO >>278
Taskを使わないと更に難しくなる
Taskを使わないと更に難しくなる
281デフォルトの名無しさん
2018/08/30(木) 19:16:12.27ID:r/TRQYs/ task自体は簡単だと思うけど
async/awaitは誤解したまま使うとハマる
async/awaitは誤解したまま使うとハマる
282デフォルトの名無しさん
2018/08/30(木) 19:19:23.09ID:JgfkbZf2 >>275
いや普通にOSSのライブラリ使えよ
いや普通にOSSのライブラリ使えよ
283デフォルトの名無しさん
2018/08/30(木) 19:25:02.55ID:2+/sJ3kY284デフォルトの名無しさん
2018/08/30(木) 19:34:27.48ID:r/TRQYs/ windowsの仕組み上不定な気がする
285デフォルトの名無しさん
2018/08/30(木) 20:37:16.45ID:4drhoSMA >>276
行頭に全角スペースが入力されたときにフラグ立てる
というのはどうかな
文字列型フラグ変数に行頭に入力された全角スペースを突っ込んでおいて
改行でフラグ変数の値を行頭に挿入とか
行頭全角スペースが削除されたらフラグも空文字列にしないといけないけど
行頭に全角スペースが入力されたときにフラグ立てる
というのはどうかな
文字列型フラグ変数に行頭に入力された全角スペースを突っ込んでおいて
改行でフラグ変数の値を行頭に挿入とか
行頭全角スペースが削除されたらフラグも空文字列にしないといけないけど
286デフォルトの名無しさん
2018/08/30(木) 20:42:40.52ID:2QdSuJnz https://ideone.com/0aD1lJ
>>278で質問したものだけどコードで書いたので下の疑問が正しいのか教えてください
A:ここで並列にダウンロードできているのか?
B:Resultを使うとデッドロックすると聞いたけどawaitしていれば大丈夫?
>>278で質問したものだけどコードで書いたので下の疑問が正しいのか教えてください
A:ここで並列にダウンロードできているのか?
B:Resultを使うとデッドロックすると聞いたけどawaitしていれば大丈夫?
287デフォルトの名無しさん
2018/08/30(木) 21:00:14.61ID:Assw0OKp288デフォルトの名無しさん
2018/08/30(木) 21:07:07.68ID:cD6Bz7+B >>282
ん?
Open XML SDKってOSSなんだが w
https://blogs.technet.microsoft.com/microsoft_office_/2014/06/25/open-xml-sdk-goes-open-source/
ん?
Open XML SDKってOSSなんだが w
https://blogs.technet.microsoft.com/microsoft_office_/2014/06/25/open-xml-sdk-goes-open-source/
289デフォルトの名無しさん
2018/08/30(木) 21:24:36.54ID:VlraDHRu >>288
え、生でそれ使えってか?
え、生でそれ使えってか?
290デフォルトの名無しさん
2018/08/30(木) 21:26:02.80ID:Yh+aUVCO >>286
A: DownloadAsyncが真っ当に実装されていれば並列ダウンロードになる
(真っ当ではない例: 同期的にダウンロードしてTask.FromResult)
B: Task<TResult>.Resultはタスクが終了済みなら即座に値を返すので、デッドロックしない
ちなみにTask<TResult>.WhenAllはTask<TResult[]>を返すから
return (await Task.WhenAll(tasks)).ToList();
でも行けるはず
A: DownloadAsyncが真っ当に実装されていれば並列ダウンロードになる
(真っ当ではない例: 同期的にダウンロードしてTask.FromResult)
B: Task<TResult>.Resultはタスクが終了済みなら即座に値を返すので、デッドロックしない
ちなみにTask<TResult>.WhenAllはTask<TResult[]>を返すから
return (await Task.WhenAll(tasks)).ToList();
でも行けるはず
291デフォルトの名無しさん
2018/08/30(木) 21:26:33.91ID:qGVo2Ysa Open XML SDK生で使ったことあるけど、もうちょっと頑張れなかったのかと言いたい
中のファイルメモリに乗っけてシートごとの並列処理出来るかと思ってたのに全然だし、セルの位置はR1C1限定とかマジで死ねよ
中のファイルメモリに乗っけてシートごとの並列処理出来るかと思ってたのに全然だし、セルの位置はR1C1限定とかマジで死ねよ
292デフォルトの名無しさん
2018/08/30(木) 21:27:27.97ID:jRU2Egdi >>288
Open XML SDKはWordなんかも含むOffice製品全部のSDKちょっと直感的じゃないから
ラッパーで多少はExcel VBAライクなClosedXMLとかNPOIとかの話と思われ
Open XML SDKはWordなんかも含むOffice製品全部のSDKちょっと直感的じゃないから
ラッパーで多少はExcel VBAライクなClosedXMLとかNPOIとかの話と思われ
293デフォルトの名無しさん
2018/08/30(木) 21:27:50.35ID:2+/sJ3kY >>276
まあケチ付けるだけなのもあれなんで
俺ならこうかなあ
無駄なフィールドを作らないために無理矢理ラムダ式使ってるけど本当はこういうのよくないかも
class TextBoxEx:TextBox
{
protected string GetIndent(int line)
{
var s = Lines[line];
var m = Regex.Match(s, @"^[ \t]*");
return m.Value;
}
protected string GetIndent()
{
return GetIndent(CaretLine);
}
public int CaretLine
{
get { return GetLineFromCharIndex(SelectionStart); }
}
まあケチ付けるだけなのもあれなんで
俺ならこうかなあ
無駄なフィールドを作らないために無理矢理ラムダ式使ってるけど本当はこういうのよくないかも
class TextBoxEx:TextBox
{
protected string GetIndent(int line)
{
var s = Lines[line];
var m = Regex.Match(s, @"^[ \t]*");
return m.Value;
}
protected string GetIndent()
{
return GetIndent(CaretLine);
}
public int CaretLine
{
get { return GetLineFromCharIndex(SelectionStart); }
}
294デフォルトの名無しさん
2018/08/30(木) 21:28:10.88ID:2+/sJ3kY protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
if(e.KeyCode == Keys.Enter)
{
var indent = GetIndent();
EventHandler eh = null;
eh = (sender, ea) =>
{
TextChanged -= eh;
SelectedText = indent;
};
TextChanged += eh;
}
}
}
{
base.OnKeyDown(e);
if(e.KeyCode == Keys.Enter)
{
var indent = GetIndent();
EventHandler eh = null;
eh = (sender, ea) =>
{
TextChanged -= eh;
SelectedText = indent;
};
TextChanged += eh;
}
}
}
295デフォルトの名無しさん
2018/08/30(木) 21:41:05.42ID:cD6Bz7+B296デフォルトの名無しさん
2018/08/30(木) 21:46:27.28ID:2QdSuJnz297デフォルトの名無しさん
2018/08/30(木) 22:15:02.92ID:jRU2Egdi298デフォルトの名無しさん
2018/08/30(木) 22:26:00.43ID:R+j2ccwX >>282が的外れで意味不明なのが悪いということ
299デフォルトの名無しさん
2018/08/30(木) 23:39:14.89ID:4drhoSMA300デフォルトの名無しさん
2018/08/31(金) 00:01:56.93ID:4iUWs/UZ var config = new ConfigurationBuilder()
.AddEnvironmentVariables(prefix: @"XXX_")
.Build();
services.Configure<MyOptions>(config.GetSection("MyOptions"));
class MyOptions {
public int Foo { get; set; }
public int Bar { get; set; }
}
---env---
export XXX_MYOPTIONS_FOO=1
export XXX_MYOPTIONS_BAR=2
ヒエラルキーを持った設定を環境変数に入れたいのだけどコロンを環境変数の識別子に使うとOSに怒られる
アンダーバーにすれば環境変数をセットできるけど今度はIOptionsパターンがヒエラルキーを認識してくれない
なんかイケてる対処法ないんか?
.AddEnvironmentVariables(prefix: @"XXX_")
.Build();
services.Configure<MyOptions>(config.GetSection("MyOptions"));
class MyOptions {
public int Foo { get; set; }
public int Bar { get; set; }
}
---env---
export XXX_MYOPTIONS_FOO=1
export XXX_MYOPTIONS_BAR=2
ヒエラルキーを持った設定を環境変数に入れたいのだけどコロンを環境変数の識別子に使うとOSに怒られる
アンダーバーにすれば環境変数をセットできるけど今度はIOptionsパターンがヒエラルキーを認識してくれない
なんかイケてる対処法ないんか?
301デフォルトの名無しさん
2018/08/31(金) 00:12:53.87ID:0MAifXJX302デフォルトの名無しさん
2018/08/31(金) 00:14:40.87ID:4ZfpOo1s そんなもんをエディタで編集しようというのが
そもそもの間違い
sedで十分
そもそもの間違い
sedで十分
303デフォルトの名無しさん
2018/08/31(金) 00:18:44.01ID:4ZfpOo1s ギガ単位のファイルなんか
結局検索しないと編集箇所を特定することなんかできない
もしかしてギガ単位のファイルを目視で編集箇所特定してんの
どんだけ頭悪いねんと。。。
結局検索しないと編集箇所を特定することなんかできない
もしかしてギガ単位のファイルを目視で編集箇所特定してんの
どんだけ頭悪いねんと。。。
304276
2018/08/31(金) 03:32:18.34ID:ogs0aMAV >>277
こんなもんなんですね!?
テキスト入力を広げていくだけだから初心者向きだと思って始めたのですが
びっくりです……でも組み上げていくのは楽しい……
>>283 >>293
当方プログラミング3日目ゆえ……読み辛くてすまぬ……すまぬ……
コードありがとうございます!
すでに用意されているものを組み合わせることしか考えてなかったので
Textboxのクラスごと作ってしまう方法は目から鱗でした!
GetLineFromCharIndexメソッドの存在すら知らなかったので
これだけで無限に簡略化できそうな気がします……
本当にありがとうございます、色々弄ってみます!
>>285
既存のファイルを読み込んだ時に改行しやすくするのが目的なので
>>287さんの言うとおり一行一行フラグ立てていく方式は厳しいかなと思いました……!
リアルタイムで少ない文章を入力していくならそのぐらい簡素でも
いいと思うのですけれどね! むずかしい!
おかげで先に進めそうです、ありがとうございましたー!
こんなもんなんですね!?
テキスト入力を広げていくだけだから初心者向きだと思って始めたのですが
びっくりです……でも組み上げていくのは楽しい……
>>283 >>293
当方プログラミング3日目ゆえ……読み辛くてすまぬ……すまぬ……
コードありがとうございます!
すでに用意されているものを組み合わせることしか考えてなかったので
Textboxのクラスごと作ってしまう方法は目から鱗でした!
GetLineFromCharIndexメソッドの存在すら知らなかったので
これだけで無限に簡略化できそうな気がします……
本当にありがとうございます、色々弄ってみます!
>>285
既存のファイルを読み込んだ時に改行しやすくするのが目的なので
>>287さんの言うとおり一行一行フラグ立てていく方式は厳しいかなと思いました……!
リアルタイムで少ない文章を入力していくならそのぐらい簡素でも
いいと思うのですけれどね! むずかしい!
おかげで先に進めそうです、ありがとうございましたー!
305デフォルトの名無しさん
2018/08/31(金) 03:47:24.61ID:ogs0aMAV れんとうしつれいします
いざググって調べてclass TextBoxEXの意味を勘違いしていた事に気付いたため
レス内容は笑い流してあげてください 正しい意味を知って本当に目からウロコでした
ありがとうございました!!
いざググって調べてclass TextBoxEXの意味を勘違いしていた事に気付いたため
レス内容は笑い流してあげてください 正しい意味を知って本当に目からウロコでした
ありがとうございました!!
306デフォルトの名無しさん
2018/08/31(金) 06:16:33.32ID:WaaqYsvL307デフォルトの名無しさん
2018/08/31(金) 06:36:54.02ID:7Lf8QxyM 実質プロプラw
308デフォルトの名無しさん
2018/08/31(金) 07:41:37.25ID:Sw5Wccxa >>304
3日目なら他にやることあるだろ
3日目なら他にやることあるだろ
309デフォルトの名無しさん
2018/08/31(金) 08:23:57.84ID:ogs0aMAV >>308
どんな技術も取り敢えず自分がやりたい事から始めて
壁にぶつかったら都度必要な事を調べていけば上手くなると思っているのですが違うのでしょうか……?
どうにか自力で一応の形にして目的を実現するところまではやって、
本当にそれが正しいのか調べて見つけることができなかったから質問させて頂いた状態なので
他にやる事と言われても何をすればいいのかわからないです、すみません……
どんな技術も取り敢えず自分がやりたい事から始めて
壁にぶつかったら都度必要な事を調べていけば上手くなると思っているのですが違うのでしょうか……?
どうにか自力で一応の形にして目的を実現するところまではやって、
本当にそれが正しいのか調べて見つけることができなかったから質問させて頂いた状態なので
他にやる事と言われても何をすればいいのかわからないです、すみません……
310デフォルトの名無しさん
2018/08/31(金) 08:44:51.07ID:6aCB/3AZ311デフォルトの名無しさん
2018/08/31(金) 12:29:19.65ID:iUPXUGud >>309
それでいいんだよ、そうやって覚えていくのが一番いいと思う
とにかく作ってみないとわからないからね
作る喜びを感じられれば伸びていく
リファクタリングもバージョンアップもどんどん
やってみるのがいいと思う
それでいいんだよ、そうやって覚えていくのが一番いいと思う
とにかく作ってみないとわからないからね
作る喜びを感じられれば伸びていく
リファクタリングもバージョンアップもどんどん
やってみるのがいいと思う
312デフォルトの名無しさん
2018/08/31(金) 13:51:05.81ID:Sw5Wccxa >>309
取説読まずにサポセン電話する迷惑なタイプ
取説読まずにサポセン電話する迷惑なタイプ
313デフォルトの名無しさん
2018/08/31(金) 15:13:11.36ID:ogs0aMAV >>310
な、なるほど! そうすれば一行毎に表示を弄ったりとかの細かい事もできそうですね!
でもリアルタイムで打ち込んだデータを内部に移しながら表示領域に戻して……とやるのは結構
大変そうな気がします。世の高機能テキストエディタはそういった苦労の上に作られているのですね……。
>>311
ありがとうございます、頑張ります!
実際スレに貼って頂いたコードの正規表現命令が通らないことで
Text.RegularExpressionsの存在を知ったりと無知ゆえの見落としも結構あるのですが、
自分の知識と思いつく検索ワードで詰めれるところまでは自分でやって成長していきたいです!
>>312
可能な限り調べきってから問い合わせてはいるのですが
なにぶん取説が広辞苑レベルなので……索引力不足、恐縮です
どうにもならなくなったらまたご迷惑かけます
な、なるほど! そうすれば一行毎に表示を弄ったりとかの細かい事もできそうですね!
でもリアルタイムで打ち込んだデータを内部に移しながら表示領域に戻して……とやるのは結構
大変そうな気がします。世の高機能テキストエディタはそういった苦労の上に作られているのですね……。
>>311
ありがとうございます、頑張ります!
実際スレに貼って頂いたコードの正規表現命令が通らないことで
Text.RegularExpressionsの存在を知ったりと無知ゆえの見落としも結構あるのですが、
自分の知識と思いつく検索ワードで詰めれるところまでは自分でやって成長していきたいです!
>>312
可能な限り調べきってから問い合わせてはいるのですが
なにぶん取説が広辞苑レベルなので……索引力不足、恐縮です
どうにもならなくなったらまたご迷惑かけます
314263
2018/08/31(金) 16:29:19.58ID:vo9ITXw3 先日デストラクタについて教えてもらった者ですが
やはりメモリリークしてましたwww
起動時は6Mくらいだったのが終了時には10Mになってました
少しだったから大きな問題にならなかったってことですorz
でも「実用上は問題無いけどゴミいっぱいまき散らしやがって!」
って怒られますよね・・・
でデストラクタを勉強し始めたのですがさっぱり分からん!
マーシャリングして使ってるAPI関数が問題なんだろうとはわかるけど
どのタイミグで何処でデストラクトするのかとか
IDisposableイベントの発生のさせ方とか
C++から勉強しないとダメかな?
先は長いなあ
やはりメモリリークしてましたwww
起動時は6Mくらいだったのが終了時には10Mになってました
少しだったから大きな問題にならなかったってことですorz
でも「実用上は問題無いけどゴミいっぱいまき散らしやがって!」
って怒られますよね・・・
でデストラクタを勉強し始めたのですがさっぱり分からん!
マーシャリングして使ってるAPI関数が問題なんだろうとはわかるけど
どのタイミグで何処でデストラクトするのかとか
IDisposableイベントの発生のさせ方とか
C++から勉強しないとダメかな?
先は長いなあ
315デフォルトの名無しさん
2018/08/31(金) 16:33:50.31ID:7EVWbyOU いや6M→10Mはメモリリークしてなくても.NETならそんなもんだぞ
長いことモニタしてればわかるけど、フルGCが走れば減る
長いことモニタしてればわかるけど、フルGCが走れば減る
316デフォルトの名無しさん
2018/08/31(金) 16:48:31.15ID:vo9ITXw3317デフォルトの名無しさん
2018/08/31(金) 17:39:33.85ID:cQtmAsyE >>314
つ https://docs.microsoft.com/ja-jp/dotnet/standard/design-guidelines/dispose-pattern
ただし和訳は機械翻訳だから読めるなら英語版おすすめ
WINAPIで取得したリソースはアンマネージリソースだから、上の記事のComplexResourceHolderのように
Dispose(bool disposing)内で、disposingの真偽に関わらずアンマネージリソースを解放するのが正解
あとC++とC#ではどちらもデストラクタという用語はあるが
C++のデストラクタはC#ではDisposeが対応する概念
C#のデストラクタはDisposeし忘れた場合の救済措置
つ https://docs.microsoft.com/ja-jp/dotnet/standard/design-guidelines/dispose-pattern
ただし和訳は機械翻訳だから読めるなら英語版おすすめ
WINAPIで取得したリソースはアンマネージリソースだから、上の記事のComplexResourceHolderのように
Dispose(bool disposing)内で、disposingの真偽に関わらずアンマネージリソースを解放するのが正解
あとC++とC#ではどちらもデストラクタという用語はあるが
C++のデストラクタはC#ではDisposeが対応する概念
C#のデストラクタはDisposeし忘れた場合の救済措置
318デフォルトの名無しさん
2018/08/31(金) 17:43:15.60ID:dU0KocTd >>314
盛大に勘違いしてそうだけど、C#のデストラクタは
そのクラスのインスタンスを利用するプログラマがDisposeを呼ぶコードを
書き忘れた(つまりバグ)場合のフェイルセーフ以上の意味は通常はないっすよ
つまりIDisposableを実装しないなら普通はファイナライザも必要ない
ファイナライザは何か不思議な力でリークを解決してくれるマジックじゃありませんw
初心者がごちゃごちゃ頭の中でくだらないこと考えても意味ないよ
どうせそんなの盛大に間違ってるw
そんな暇があったら理解できなくても少しでもドキュメントを読んだ方がいい
盛大に勘違いしてそうだけど、C#のデストラクタは
そのクラスのインスタンスを利用するプログラマがDisposeを呼ぶコードを
書き忘れた(つまりバグ)場合のフェイルセーフ以上の意味は通常はないっすよ
つまりIDisposableを実装しないなら普通はファイナライザも必要ない
ファイナライザは何か不思議な力でリークを解決してくれるマジックじゃありませんw
初心者がごちゃごちゃ頭の中でくだらないこと考えても意味ないよ
どうせそんなの盛大に間違ってるw
そんな暇があったら理解できなくても少しでもドキュメントを読んだ方がいい
319デフォルトの名無しさん
2018/08/31(金) 18:08:24.51ID:eNdvG/21 SqlConnectionクラスでDB操作するのですが、ACID特性の担保は設計でやるのでしょうか?SqlConnectionとDBMSが隠蔽してくれるのでしょうか?
複数ユーザー利用時のトランザクションのロックとか自力実装する必要があるのかなと思い
複数ユーザー利用時のトランザクションのロックとか自力実装する必要があるのかなと思い
320デフォルトの名無しさん
2018/08/31(金) 20:55:02.11ID:k+Te8Uzr321デフォルトの名無しさん
2018/08/31(金) 21:12:25.67ID:ZwfzJAPn >>316
CLRProfiler使ってちゃんとリークオブジェクトがないか確認してみるといいよ
CLRProfiler使ってちゃんとリークオブジェクトがないか確認してみるといいよ
322デフォルトの名無しさん
2018/08/31(金) 21:47:14.81ID:7EVWbyOU >>319
ACIDはあくまで利用者から見たシステムの性質
一般的なRDBにはACIDを実現するために必要な機能が備わっているが、それを使ってACIDなシステムを作るのはお前自身だ
アトミックなトランザクションを使ったからってお前のアプリのリクエスト処理が勝手にアトミックになる訳じゃないぞ
ACIDはあくまで利用者から見たシステムの性質
一般的なRDBにはACIDを実現するために必要な機能が備わっているが、それを使ってACIDなシステムを作るのはお前自身だ
アトミックなトランザクションを使ったからってお前のアプリのリクエスト処理が勝手にアトミックになる訳じゃないぞ
323デフォルトの名無しさん
2018/08/31(金) 22:28:21.69ID:Is8FvumJ324デフォルトの名無しさん
2018/08/31(金) 22:34:45.87ID:Is8FvumJ >>314
c#は空きメモリに余裕がある時は積極的にメモリの回収をしないから、一見リークしてるように見える。
IDisposeの使い方は単純で、使い終わったら自分でDispose()メソッドを呼ぶだけ。
Dispose()を呼び出し忘れた時のためにデストラクタからも呼ぶように書くけど。
c#は空きメモリに余裕がある時は積極的にメモリの回収をしないから、一見リークしてるように見える。
IDisposeの使い方は単純で、使い終わったら自分でDispose()メソッドを呼ぶだけ。
Dispose()を呼び出し忘れた時のためにデストラクタからも呼ぶように書くけど。
325デフォルトの名無しさん
2018/08/31(金) 22:52:13.57ID:iUPXUGud326デフォルトの名無しさん
2018/08/31(金) 23:52:12.65ID:ETlCxkfg C#のデストラクタはおまじない程度の効果と聞いた
327デフォルトの名無しさん
2018/09/01(土) 01:29:15.12ID:ZVoFY83K デストラーデっていつ発動するんだっけ?
328デフォルトの名無しさん
2018/09/01(土) 09:40:22.35ID:PbkphExB デストラクタはいつ動くかわからないから使い勝手がわるい
329デフォルトの名無しさん
2018/09/01(土) 10:07:42.55ID:aEdJ57k5 そもそも処理が重いので可能なら使わない方が良い
330デフォルトの名無しさん
2018/09/01(土) 12:17:11.69ID:1Fa0uhaD >>323
横から失礼。まったくの素人質問で申し訳ないのですけど
独自コントロールのテキストボックスってKeyDown命令を検知したりして
必要な処理を一つ一つ作っていくんですか?
慣れてきたら挑んでみたいけれど何をどこから調べればいいのかわからないので
そのあたりの仕組みやヒントが学べそうなサイトや教本ってあります……?
横から失礼。まったくの素人質問で申し訳ないのですけど
独自コントロールのテキストボックスってKeyDown命令を検知したりして
必要な処理を一つ一つ作っていくんですか?
慣れてきたら挑んでみたいけれど何をどこから調べればいいのかわからないので
そのあたりの仕組みやヒントが学べそうなサイトや教本ってあります……?
331デフォルトの名無しさん
2018/09/01(土) 12:21:41.75ID:+BAvd4bn >>330
初心者の範疇じゃない
さらに言えば中級者の範疇でもない
c# avalon editorでググればいい
単体でエディタを自作するのは愚かなこと
Visual Studio Codeなどの拡張機能を作るのが正しい
初心者の範疇じゃない
さらに言えば中級者の範疇でもない
c# avalon editorでググればいい
単体でエディタを自作するのは愚かなこと
Visual Studio Codeなどの拡張機能を作るのが正しい
332デフォルトの名無しさん
2018/09/01(土) 12:26:00.33ID:HRxiLrgz オープンソースのコードエディタのソースを見れば参考になるかもね
言語は違うけどVSCodeやEclipseなど
言語は違うけどVSCodeやEclipseなど
333デフォルトの名無しさん
2018/09/01(土) 12:28:04.00ID:RGySrVo/ メモリ解放の部分だけC++で作成して呼び出せないの?
どう呼び出してメモリのどの部分をどう開放させれるのかとか一切しらんけど
どう呼び出してメモリのどの部分をどう開放させれるのかとか一切しらんけど
334デフォルトの名無しさん
2018/09/01(土) 12:31:07.58ID:nKX/MoF5 >>333
C++で.Netをオーバーライドとかなかなか無い発想だね
C++で.Netをオーバーライドとかなかなか無い発想だね
335デフォルトの名無しさん
2018/09/01(土) 12:40:19.46ID:HRxiLrgz >>333
Roslynをフォークして自作してみてはどうだろう
未だにこうやって.NET(というかGC)のメモリ管理に不満を言う人が居なくならないということは
決定的なメモリ管理にはある程度の需要が確実にあるということ
そういう人たちのヒーローになれるかもしれない
それでパフォーマンスや生産性が上がると本当に実証されればMicrosoftからもアプローチがあるかも
Roslynをフォークして自作してみてはどうだろう
未だにこうやって.NET(というかGC)のメモリ管理に不満を言う人が居なくならないということは
決定的なメモリ管理にはある程度の需要が確実にあるということ
そういう人たちのヒーローになれるかもしれない
それでパフォーマンスや生産性が上がると本当に実証されればMicrosoftからもアプローチがあるかも
336デフォルトの名無しさん
2018/09/01(土) 12:48:05.08ID:c3Y0wsEI337デフォルトの名無しさん
2018/09/01(土) 13:06:24.02ID:1Fa0uhaD >>331
ありがとうございます! 初心者の範疇ではないとは薄々……!
テキストエディタ特化のライブラリがあるんですね、先人は偉大だ……
最終的には自分で使う用に物書き方面に特化した文章エディタを作りたいので先は長いです
avalonエディタに触れてみながら参考になる部分はないか色々探ってみます!
>>332
確かにC#で作られたものじゃなくても仕組みの理解に繋がりそうではありますね!
基礎の基礎は終えた今なら少しは中身を探れるかもしれないので
探して覗いてみます、ありがとう!
>>336
なるほど、ググりながらよく分からないままに使っていた
User32.Dllまわりの正体がそれなんですね……!?
ありがとうございます、勉強になります! 探ってみます!
色々できるようになりたい!
ありがとうございます! 初心者の範疇ではないとは薄々……!
テキストエディタ特化のライブラリがあるんですね、先人は偉大だ……
最終的には自分で使う用に物書き方面に特化した文章エディタを作りたいので先は長いです
avalonエディタに触れてみながら参考になる部分はないか色々探ってみます!
>>332
確かにC#で作られたものじゃなくても仕組みの理解に繋がりそうではありますね!
基礎の基礎は終えた今なら少しは中身を探れるかもしれないので
探して覗いてみます、ありがとう!
>>336
なるほど、ググりながらよく分からないままに使っていた
User32.Dllまわりの正体がそれなんですね……!?
ありがとうございます、勉強になります! 探ってみます!
色々できるようになりたい!
338デフォルトの名無しさん
2018/09/01(土) 13:14:14.49ID:+st2vgph gcがある言語ならgcにお任せするもんでは?
339デフォルトの名無しさん
2018/09/01(土) 13:53:17.71ID:c3Y0wsEI >>337
Gdi32.dllもな
Gdi32.dllもな
340デフォルトの名無しさん
2018/09/01(土) 14:09:16.29ID:P+AKCe3z341デフォルトの名無しさん
2018/09/01(土) 14:32:33.00ID:aEdJ57k5 ゲーム用途とかのリアルタイム処理向けGCに入れ替えできたら面白そう
342デフォルトの名無しさん
2018/09/01(土) 14:39:09.32ID:mjuKggTp ゲームはそもそもリソース使用量決まってるんだからプレイ中にGC動いたりはしないよ
シーン切り替えと一緒に動かす程度だよ
シーン切り替えと一緒に動かす程度だよ
343デフォルトの名無しさん
2018/09/01(土) 17:48:39.66ID:CnyU+b4T LinuxのMono Developの使い方のついて、ここで聞いてもいいかな?
344デフォルトの名無しさん
2018/09/01(土) 17:57:37.75ID:lAVUzhE8 >>343
時代遅れのものは使わずVScode使って該当スレへ行ってください
時代遅れのものは使わずVScode使って該当スレへ行ってください
345デフォルトの名無しさん
2018/09/03(月) 13:14:32.35ID:oOf4f4g2346デフォルトの名無しさん
2018/09/03(月) 17:03:56.62ID:dGDVASpD websoketで大量データ受信しながら他の処理を非同期で遅延なく処理するには、別プロジェクトで共有メモリアクセスがいいか、単純に別スレッドでInvokeするのはどちらがいいでしょうか?
というより、王道な設計パティーンを教えて下さい。
というより、王道な設計パティーンを教えて下さい。
347デフォルトの名無しさん
2018/09/03(月) 17:27:25.38ID:vcilZH89 >共有メモリアクセス
こういう発想がどこから出てくるのか?
こういう発想がどこから出てくるのか?
348デフォルトの名無しさん
2018/09/03(月) 17:29:17.86ID:QhFCG6IW >>346
王道な形はwebブラウザ
王道な形はwebブラウザ
349デフォルトの名無しさん
2018/09/03(月) 17:41:54.34ID:ttVcJTrG VSCode でも使っている、Electron とか
350デフォルトの名無しさん
2018/09/03(月) 18:08:25.48ID:dGDVASpD >>347
だめですか?
だめですか?
351デフォルトの名無しさん
2018/09/03(月) 18:13:45.54ID:9RGmKGyN >>350
だめとかの前に具体的な形考えたうえで書いている?
だめとかの前に具体的な形考えたうえで書いている?
352デフォルトの名無しさん
2018/09/03(月) 18:17:15.88ID:oOf4f4g2 受け取った大量データを他の処理で使いたいってことか?
使うのが受け取りが完了してからでいいんだったら普通にファイルに書けばいい
使うのが受け取りが完了してからでいいんだったら普通にファイルに書けばいい
353デフォルトの名無しさん
2018/09/03(月) 18:24:29.32ID:vcilZH89354デフォルトの名無しさん
2018/09/03(月) 19:07:52.86ID:EUoYWljm 前スレでシリアルポートの使い方を聞いた質問者か?
相変わらずズレた考え方してんな
相変わらずズレた考え方してんな
355デフォルトの名無しさん
2018/09/03(月) 19:29:03.44ID:vcilZH89 普通はプロセスごとにメモリが分離しててどちらかがおかしくなっても他に影響しないように作られてる
それを無理やりOSを使って通信してるのが共有メモリで実際は共有してない
それを無理やりOSを使って通信してるのが共有メモリで実際は共有してない
356デフォルトの名無しさん
2018/09/03(月) 19:33:07.93ID:ACnp/Uoo 別プロセスする必要なしと言えばいいのに
なんてひねくれた奴らだ
なんてひねくれた奴らだ
357デフォルトの名無しさん
2018/09/03(月) 19:42:32.34ID:NR0nQ5XR358デフォルトの名無しさん
2018/09/03(月) 19:49:50.99ID:lS5Tq6xt 何が本で何が末やら全くわからん件
359デフォルトの名無しさん
2018/09/03(月) 19:54:16.82ID:NR0nQ5XR 本: 目的の達成
末: プロセスの分割
本末転倒: プロセスの分割により目的の達成が逆に遠のいている状況
末: プロセスの分割
本末転倒: プロセスの分割により目的の達成が逆に遠のいている状況
360デフォルトの名無しさん
2018/09/03(月) 19:58:46.45ID:lS5Tq6xt361デフォルトの名無しさん
2018/09/03(月) 20:06:23.97ID:BfF9DJB1 答える気がないことだけは分かった。
じゃーなゴミクズども。
家族や先生以外とコミュニケーション取ろうとしてんじゃねえよ池沼クサレガイジが。
じゃーなゴミクズども。
家族や先生以外とコミュニケーション取ろうとしてんじゃねえよ池沼クサレガイジが。
362デフォルトの名無しさん
2018/09/03(月) 20:21:12.20ID:lS5Tq6xt 答える気がないのではなく答える能力がないのだという事だけは知っておいて欲しい
決して悪気があるのではない、むしろ彼らは答える気に満ち溢れているのだ
決して悪気があるのではない、むしろ彼らは答える気に満ち溢れているのだ
363デフォルトの名無しさん
2018/09/03(月) 21:06:49.10ID:ttVcJTrG 普通は、共有メモリなんて考えない。
何が目的なのか、わからない
A | B | C
パイプなんて、これで処理完了する。
共有メモリもクソもない
メモリなんて、OS が勝手に共有しているだろ
何が目的なのか、わからない
A | B | C
パイプなんて、これで処理完了する。
共有メモリもクソもない
メモリなんて、OS が勝手に共有しているだろ
364デフォルトの名無しさん
2018/09/03(月) 21:13:29.70ID:vevNEWn4 普通にやるならtaskでcontinuewithするとか?
365デフォルトの名無しさん
2018/09/03(月) 21:16:04.89ID:C1+EoShM >>361>>362
ファイルにしろとかみんな答えているだろ
処理内容もわからないし処理するもののフォーマットや大きさが決まっているのかもわからない
そんな内容で細かく的確に導けって無理だから
ここ質問者だけでなく回答者もみんな初心者が来るスレだよ
ファイルにしろとかみんな答えているだろ
処理内容もわからないし処理するもののフォーマットや大きさが決まっているのかもわからない
そんな内容で細かく的確に導けって無理だから
ここ質問者だけでなく回答者もみんな初心者が来るスレだよ
366デフォルトの名無しさん
2018/09/03(月) 21:59:51.88ID:YJr4EDHr367デフォルトの名無しさん
2018/09/03(月) 22:12:38.21ID:NrThtKWO MQ使えよ。標準機能にあるぜよ
368デフォルトの名無しさん
2018/09/04(火) 05:57:09.73ID:u5J3mHSN 同期・非同期通信のサンプルを探しているのですが、知識がないので、サンプルの善し悪しが分かりません。
実際に動かしてみてこれは良さそうだと思ったんですが、もっといいサンプルはありますか?
https://docs.microsoft.com/ja-jp/dotnet/framework/network-programming/socket-code-examples
実際に動かしてみてこれは良さそうだと思ったんですが、もっといいサンプルはありますか?
https://docs.microsoft.com/ja-jp/dotnet/framework/network-programming/socket-code-examples
369デフォルトの名無しさん
2018/09/04(火) 13:00:56.54ID:JkSql3w1 JavaScript, jQuery などの非同期処理は、Deferred、ES2015ではPromise
他に、ES2015のGenerator、Async/Await
他に、ES2015のGenerator、Async/Await
370デフォルトの名無しさん
2018/09/04(火) 17:47:51.73ID:B4hp9gin371デフォルトの名無しさん
2018/09/04(火) 18:23:01.71ID:xdg0c65C >>369
スレタイ読めないのかな
スレタイ読めないのかな
372デフォルトの名無しさん
2018/09/04(火) 18:59:47.33ID:2N5HXzo8 Rubyガイジだろ
優しくしなさい
優しくしなさい
373デフォルトの名無しさん
2018/09/04(火) 20:02:49.34ID:KXm2oNE8 >>368
昔ながらの非同期処理としては鉄板だけど、async/await使うならこことかかなあ
https://qiita.com/tadokoro/items/76085061c38de3d021c0
昔ながらの非同期処理としては鉄板だけど、async/await使うならこことかかなあ
https://qiita.com/tadokoro/items/76085061c38de3d021c0
374デフォルトの名無しさん
2018/09/04(火) 23:30:43.13ID:MLAZDoHF ライブラリ関係って聞いても大丈夫ですか?
ウィンドウをタブ化したくてDockPanelSuiteを導入したのですけれど、
DockStyleをFloatとDocumentしか使わないのですが
ウィンドウをFloatの状態からDockPanelのどこにドラッグアンドドロップしても
DockPanelに収納できるような設定はありませんか?
今の状態だとタブ一覧の上に持って行かないと反応してくれなくて…
スレチだったらすみません
ウィンドウをタブ化したくてDockPanelSuiteを導入したのですけれど、
DockStyleをFloatとDocumentしか使わないのですが
ウィンドウをFloatの状態からDockPanelのどこにドラッグアンドドロップしても
DockPanelに収納できるような設定はありませんか?
今の状態だとタブ一覧の上に持って行かないと反応してくれなくて…
スレチだったらすみません
375デフォルトの名無しさん
2018/09/05(水) 07:03:56.71ID:VaHR8CA9376デフォルトの名無しさん
2018/09/05(水) 08:44:06.60ID:faIDkIPM 英語で書かれててよくわかりませんって、パワーワードだよな。
よくいるけど。
よくいるけど。
377デフォルトの名無しさん
2018/09/05(水) 08:52:00.83ID:Utg8HVgU 今はMSも日本語翻訳に昔ほどのリソースを割かなくなっていて、英語が読めないとMSDNもまともに読めない時代になってる
英語読む気ないならやめた方がいい
英語読む気ないならやめた方がいい
378デフォルトの名無しさん
2018/09/05(水) 08:54:04.24ID:t8SDBZY6 docsじゃなくて?
379デフォルトの名無しさん
2018/09/05(水) 09:04:06.00ID:jUbmg1Bj ExcelDataReaderで検索したら使ってみたってページすぐ見つかるじゃん
380デフォルトの名無しさん
2018/09/05(水) 09:42:29.44ID:ldiBrb1r ChromeつーかGoogle翻訳が最近賢いから
英語読むこともかなり減ってきたわ
英語読むこともかなり減ってきたわ
381デフォルトの名無しさん
2018/09/05(水) 09:46:07.75ID:QYx0ZVvn382デフォルトの名無しさん
2018/09/05(水) 09:57:13.79ID:6xDXCsXb MSDNの機械翻訳ってなんであれほどまでにアレなのか
昔よりひどい気がする(気のせい)
昔よりひどい気がする(気のせい)
383デフォルトの名無しさん
2018/09/05(水) 10:25:50.71ID:weayVUk8 昨今のAIだかdeel learningだかのブーム。ハードウェアは何倍とか進んでるけど、ソフトウェア的には、全然、世の中便利になったと実感わかない。
384デフォルトの名無しさん
2018/09/05(水) 11:29:06.83ID:oU3nYC4L385デフォルトの名無しさん
2018/09/05(水) 11:45:07.64ID:ldiBrb1r 逆の翻訳って
この前の炎上してたやつとかな
MSDNの機械翻訳は昔から酷いな
この前の炎上してたやつとかな
MSDNの機械翻訳は昔から酷いな
386デフォルトの名無しさん
2018/09/05(水) 11:47:04.41ID:SyDlVyYO >>384
なわけないでしょw
人力使った修正なんか昔もやってないからww
プログラマの端くれならAIブームなんてバズワードだって最初から分かれよ
機械翻訳の質なんか工場する訳がない
機会は文脈を理解できない、というのが問題の根本なんだが、それを解決する理論なんか何も見つかってないんだから
なわけないでしょw
人力使った修正なんか昔もやってないからww
プログラマの端くれならAIブームなんてバズワードだって最初から分かれよ
機械翻訳の質なんか工場する訳がない
機会は文脈を理解できない、というのが問題の根本なんだが、それを解決する理論なんか何も見つかってないんだから
387デフォルトの名無しさん
2018/09/05(水) 11:54:12.12ID:NmNBYqq+388デフォルトの名無しさん
2018/09/05(水) 12:33:12.01ID:8BhrS90z 日本語だと漢字の熟語とかで書いてることが一目でなんとなくわかるけど英語でも慣れればそうなるの?
389デフォルトの名無しさん
2018/09/05(水) 12:38:10.26ID:mBdcezsc まずスレタイ読めるようになろうな
390デフォルトの名無しさん
2018/09/05(水) 12:38:46.31ID:o1PiTYm1 google翻訳やMSの翻訳は複数の文がコンマでつながれてる文とか壊滅的に訳がおかしい
係り受けや接続もおかしい
係り受けや接続もおかしい
391デフォルトの名無しさん
2018/09/05(水) 12:39:54.11ID:vNhhiwgZ 自治厨クッサ w
そういうのいいから
そういうのいいから
392デフォルトの名無しさん
2018/09/05(水) 15:52:59.11ID:p4jLi+A7393デフォルトの名無しさん
2018/09/05(水) 17:37:26.80ID:/mbhrlqw まだ夏休み中の子供たちが書き込んでいるのか。いつ終わるのかな
394デフォルトの名無しさん
2018/09/05(水) 20:45:00.94ID:6xDXCsXb お前の幸薄い人生の方が先に終わる
395デフォルトの名無しさん
2018/09/06(木) 03:47:19.07ID:zXYr6cPt >>383
ムーアの法則がのびのびになっているのに今更何を言ってるの?
ムーアの法則がのびのびになっているのに今更何を言ってるの?
396デフォルトの名無しさん
2018/09/06(木) 08:03:45.96ID:8wNQzUcB >>395
CPUはのびてないけどGPUのテンソルコアは何倍とか急激に延びてるのも知らないの?
CPUはのびてないけどGPUのテンソルコアは何倍とか急激に延びてるのも知らないの?
397デフォルトの名無しさん
2018/09/06(木) 08:26:21.75ID:8wNQzUcB 汎用コアでやってたものを専用コア使い出したり、推論?は単精度じゃなくて半精度で十分だったりでここ数年どんどん最適化進んで急激に延びてんだよ
だから余裕でムーアの法則以上に性能上がってるわ
(たぶん)
だから余裕でムーアの法則以上に性能上がってるわ
(たぶん)
398デフォルトの名無しさん
2018/09/06(木) 10:11:31.20ID:BzRDAIRM 上がってないよ
ムーアの法則が成立したのはもう10年以上前のPentiumIIIの頃まで
GPUGPUなんてマルチコア化と同じ苦し紛れに過ぎず本質的なものじゃない
ムーアの法則が成立したのはもう10年以上前のPentiumIIIの頃まで
GPUGPUなんてマルチコア化と同じ苦し紛れに過ぎず本質的なものじゃない
399デフォルトの名無しさん
2018/09/06(木) 11:21:20.12ID:hEScr/Qj FPGAとかもあるぞ
だがスレ違い
だがスレ違い
400デフォルトの名無しさん
2018/09/06(木) 11:24:39.92ID:7j2SToAT マイニングだって汎用CPUで演算してたものを専用のFPGAとかASICにすりゃマイニング性能は爆上がりだろ。
ビデオエンコードだって専用HWで爆速(品質は知らね)
上がってない?って何が上がってないの?
単コア辺りに性能で比較してるんじゃねぇわ
文脈をちゃんと捉えたほうがいい。
ビデオエンコードだって専用HWで爆速(品質は知らね)
上がってない?って何が上がってないの?
単コア辺りに性能で比較してるんじゃねぇわ
文脈をちゃんと捉えたほうがいい。
401デフォルトの名無しさん
2018/09/06(木) 11:43:27.49ID:BzRDAIRM 実にアホな議論だ
計算機は汎用であることに意味がある。
専用ハードなら〜なんて話は、たとえが古いが画像処理専用チップを持ってるファミコンの
ゲームだけ見て、ファミコンの方がPCより高性能だというのと同じ倒錯
計算機は汎用であることに意味がある。
専用ハードなら〜なんて話は、たとえが古いが画像処理専用チップを持ってるファミコンの
ゲームだけ見て、ファミコンの方がPCより高性能だというのと同じ倒錯
402デフォルトの名無しさん
2018/09/06(木) 11:57:46.78ID:7j2SToAT もとから汎用演算の性能の話なんてしてねぇのに読解力ないやつが話に混じろうとして荒れるパターンってやつですね
たかが数レスのやり取りを勘違いするなんて相当読解力ないんですね。
たかが数レスのやり取りを勘違いするなんて相当読解力ないんですね。
403デフォルトの名無しさん
2018/09/06(木) 12:15:05.22ID:Yg5/0qIe 今さらwpfで作る理由ない?
そもそもwpfで作られたアプリが見当たらないし
そもそもwpfで作られたアプリが見当たらないし
404デフォルトの名無しさん
2018/09/06(木) 12:18:30.13ID:81SkF9sN 知らないだけ
405デフォルトの名無しさん
2018/09/06(木) 12:18:36.33ID:Mg/mQaA6406デフォルトの名無しさん
2018/09/06(木) 12:41:04.75ID:2OVIK4Yi >>403
知らないだけ
知らないだけ
407デフォルトの名無しさん
2018/09/06(木) 12:42:53.94ID:FeLrEgsW408デフォルトの名無しさん
2018/09/06(木) 13:08:44.64ID:/FACCQq3 >>407
ところがVSのInstallerはWPFからElectronにリプレースされたんだよなあ
MS的にはできるだけVSCodeとリソースを共有したいだろうから、次期バージョンではほぼ確実にVSのワークスペース内にElectron入れてくるよ
ところがVSのInstallerはWPFからElectronにリプレースされたんだよなあ
MS的にはできるだけVSCodeとリソースを共有したいだろうから、次期バージョンではほぼ確実にVSのワークスペース内にElectron入れてくるよ
409デフォルトの名無しさん
2018/09/06(木) 13:55:14.55ID:DFj+i+04410デフォルトの名無しさん
2018/09/06(木) 16:14:10.25ID:Yg5/0qIe411デフォルトの名無しさん
2018/09/06(木) 18:42:49.75ID:vsw29ZWk 有名どころだとSourceTreeだな、むしろこれはいまだにElectronとかにしない理由がわからん(GitHub for Windowsはそうなった)
他は知らん
MSもVS,Blendは別とするとWinDbg Previewで使ってるくらいじゃね?
野良アプリはちょくちょく見るけどキリがないので割愛
他は知らん
MSもVS,Blendは別とするとWinDbg Previewで使ってるくらいじゃね?
野良アプリはちょくちょく見るけどキリがないので割愛
412デフォルトの名無しさん
2018/09/06(木) 20:12:45.37ID:RXSnHqjc WPFはWindows10のスケーリングに対応しているのかね?
Winformで作ったらWin10スケーリングな人からボロクソに叩かれたからリベンジしたい
Winformで作ったらWin10スケーリングな人からボロクソに叩かれたからリベンジしたい
413デフォルトの名無しさん
2018/09/06(木) 20:14:49.96ID:vwxBR5u1 Windows7で作っていたWinformのアプリがたくさんあったけどWin10にしてスケーリングで問題出たものは一つもないな
414デフォルトの名無しさん
2018/09/06(木) 21:15:20.65ID:vsw29ZWk >>413
4.6.2以降ならmanifest宣言すればPer Monitor DPIもWPF内でやってくれる
https://github.com/Microsoft/WPF-Samples/tree/master/PerMonitorDPI
ここのDeveloper Guideを参照
WinformsはSystemAwareの範疇でも見ても中途半端に対応していたせいで
Win32生でやるよりHiDPIで崩れてるアプリが多い気がするなw
4.6.2以降ならmanifest宣言すればPer Monitor DPIもWPF内でやってくれる
https://github.com/Microsoft/WPF-Samples/tree/master/PerMonitorDPI
ここのDeveloper Guideを参照
WinformsはSystemAwareの範疇でも見ても中途半端に対応していたせいで
Win32生でやるよりHiDPIで崩れてるアプリが多い気がするなw
415デフォルトの名無しさん
2018/09/06(木) 23:08:09.49ID:fUpyP9r6 >>412
WPFは仮想DPIなので元々何もしなくてもスケーリング対応(System DPI aware)
※Per Monitor DPIでは無い
4.6.2以降はmanifestで宣言すればPer Monitor DPIも対応
4.6.2未満もapp.configで宣言すればPer Monitor DPI対応するらしいけど、確認はしてない
WPFは仮想DPIなので元々何もしなくてもスケーリング対応(System DPI aware)
※Per Monitor DPIでは無い
4.6.2以降はmanifestで宣言すればPer Monitor DPIも対応
4.6.2未満もapp.configで宣言すればPer Monitor DPI対応するらしいけど、確認はしてない
416デフォルトの名無しさん
2018/09/06(木) 23:14:44.26ID:DFj+i+04 でもPer Monitor DPI自体がポンコツで使い物にならんからなあw
活用してる人がどれだけいるか
活用してる人がどれだけいるか
417デフォルトの名無しさん
2018/09/06(木) 23:54:26.00ID:ZAMf2Fva 他のアプリケーションの持ってるDataGridViewをゴリゴリ弄りたいんだけど何かいい方法ないでしょうか。
持ってるプロパティやデータも読みたい。
しこしこSendMessageするのは現実的ではないと思いまして。
持ってるプロパティやデータも読みたい。
しこしこSendMessageするのは現実的ではないと思いまして。
418デフォルトの名無しさん
2018/09/07(金) 00:07:44.07ID:edPtcLES 流行りのRPA使えば
419デフォルトの名無しさん
2018/09/07(金) 22:13:02.02ID:UPnWNaJM RPAは自動化処理としては不完全
SendMessageしこしこした方が確実なのは言うまでもない
SendMessageしこしこした方が確実なのは言うまでもない
420デフォルトの名無しさん
2018/09/07(金) 23:15:50.54ID:JDDOE++X ほとんどのプロセサに共通して言えるのは
整数演算性能はどうでもいい扱いになってることだな
整数演算性能はどうでもいい扱いになってることだな
421デフォルトの名無しさん
2018/09/09(日) 18:37:21.78ID:P2ummhES エクセルを『ClosedXML』で読み込んで、A2からセルを順に下に見ていってセルが空まで繰り返すって、どの繰り返し文が理想ですか?
422デフォルトの名無しさん
2018/09/09(日) 18:43:33.91ID:FyKgo8MI423デフォルトの名無しさん
2018/09/10(月) 01:32:47.82ID:Jsw/KSGz private void AAA()
{
var list = new List<Myclass>();
var numberList = new List<int>()
{
1, 2, 3, 4
};
Myclass mc = new Myclass()
{
Nunber = 0,
};
int i = 0;
foreach (var n in numberList)
{
if(n == 1){
mc.Nunber = 1;
list.Add(mc);
Console.WriteLine("1={0} ", list[i].Nunber);
}
else if (n == 2) {
mc.Nunber = 2;
list.Add(mc);
Console.WriteLine("2={0} ", list[i].Nunber);
}
つづく
{
var list = new List<Myclass>();
var numberList = new List<int>()
{
1, 2, 3, 4
};
Myclass mc = new Myclass()
{
Nunber = 0,
};
int i = 0;
foreach (var n in numberList)
{
if(n == 1){
mc.Nunber = 1;
list.Add(mc);
Console.WriteLine("1={0} ", list[i].Nunber);
}
else if (n == 2) {
mc.Nunber = 2;
list.Add(mc);
Console.WriteLine("2={0} ", list[i].Nunber);
}
つづく
424デフォルトの名無しさん
2018/09/10(月) 01:33:12.59ID:Jsw/KSGz else if (n == 3) {
mc.Nunber = 3;
list.Add(mc);
Console.WriteLine("3={0} ", list[i].Nunber);
i += 1;
}
}
foreach (Myclass n in list)
{
Console.WriteLine("res= {0} ", n.Nunber);
}
}
}
public class Myclass
{
public int Nunber { get; set; } = 0;
}
mc.Nunber = 3;
list.Add(mc);
Console.WriteLine("3={0} ", list[i].Nunber);
i += 1;
}
}
foreach (Myclass n in list)
{
Console.WriteLine("res= {0} ", n.Nunber);
}
}
}
public class Myclass
{
public int Nunber { get; set; } = 0;
}
425デフォルトの名無しさん
2018/09/10(月) 01:35:58.68ID:Jsw/KSGz 上記を実行すると
1=1
2=2
3=3
res= 3
res= 3
res= 3
となります
list.Add(mc) でlisの要素の最後に追加しているのに
res ではすべての要素が"3" になっています
なぜなんでしょう?
1=1
2=2
3=3
res= 3
res= 3
res= 3
となります
list.Add(mc) でlisの要素の最後に追加しているのに
res ではすべての要素が"3" になっています
なぜなんでしょう?
426デフォルトの名無しさん
2018/09/10(月) 01:41:58.64ID:4pnQI32t mc一個しか作ってないからだろ
427デフォルトの名無しさん
2018/09/10(月) 01:58:50.78ID:u3SYaGhq list={ mc ,mc ,mc}になっているんだよな
ループ中でインスタンス毎回作らないと
ループ中でインスタンス毎回作らないと
428デフォルトの名無しさん
2018/09/10(月) 06:41:51.42ID:k9vEXAki c#と言うかプログラミングの勉強始めたばかりなのですが、例外とエラーコードの違いがよくわかりません
429デフォルトの名無しさん
2018/09/10(月) 07:45:28.87ID:ndgOlWH8 使い分けるものではないから違いを気にする必要はない
エラーコードはどうしても必要な特別な場合を除きC#では使わない
人によっては業務エラーは戻り値を使うべきだとか色々な主張があるが、今はまず標準的な方法を学ぶ段階であり、そのような意見は無視せよ
エラーコードはどうしても必要な特別な場合を除きC#では使わない
人によっては業務エラーは戻り値を使うべきだとか色々な主張があるが、今はまず標準的な方法を学ぶ段階であり、そのような意見は無視せよ
430デフォルトの名無しさん
2018/09/10(月) 09:34:21.75ID:uDZUf97M 全部Expect型で解決してるわ
431デフォルトの名無しさん
2018/09/10(月) 10:07:06.77ID:WqnqKse5 期待すんな
433デフォルトの名無しさん
2018/09/10(月) 13:13:32.38ID:aMpMOsPb コントロールの名前を小文字で始めると「名前指定の規則違反です」と出るけど
デバッグは通ります
何か問題出ますかね?
あとCamel形式になじめず変数の命名する時
単語の連結にアンダーバー入れたい衝動がハンパ無い
一人で完結するなら問題ないだろうけど
チームでやるようになると嫌がられるのかなあ?
まあ無いだろうけど
デバッグは通ります
何か問題出ますかね?
あとCamel形式になじめず変数の命名する時
単語の連結にアンダーバー入れたい衝動がハンパ無い
一人で完結するなら問題ないだろうけど
チームでやるようになると嫌がられるのかなあ?
まあ無いだろうけど
434デフォルトの名無しさん
2018/09/10(月) 14:25:56.49ID:j74hNM/I >>433
デバッグ通るなら問題ないでしょ
コーディングスタイルの設定を変えればそういう警告は出なくなるんじゃないかな
チームでやるならチームのスタイルに合わせる、簡単なことじゃん
チームのみんなを納得させられるほどの合理的な理屈があるなら説得してみればいい
デバッグ通るなら問題ないでしょ
コーディングスタイルの設定を変えればそういう警告は出なくなるんじゃないかな
チームでやるならチームのスタイルに合わせる、簡単なことじゃん
チームのみんなを納得させられるほどの合理的な理屈があるなら説得してみればいい
435デフォルトの名無しさん
2018/09/10(月) 16:32:06.78ID:YgCo9XUL 名付け方式がPascalだろうがCamelだろうが小文字アンダーバーだろうがぶっちゃけ通ればいいよ
チームで嫌がられたらその時合わせ方を考えればいい
チームで嫌がられたらその時合わせ方を考えればいい
436デフォルトの名無しさん
2018/09/10(月) 17:35:00.22ID:ed5IUta3 >>433
その手の表記法は余程不合理な物でない限り慣れの問題
少なくとも俺は1週間で慣れる
>単語の連結にアンダーバー入れたい衝動がハンパ無い
これはむしろアンダーバーを入れる表記法の方が冗長で不合理なので、
一旦キャメルやパスカルに慣れた後では間違いなく逆の感覚を抱くようになるw
掛けてもいいよ
その手の表記法は余程不合理な物でない限り慣れの問題
少なくとも俺は1週間で慣れる
>単語の連結にアンダーバー入れたい衝動がハンパ無い
これはむしろアンダーバーを入れる表記法の方が冗長で不合理なので、
一旦キャメルやパスカルに慣れた後では間違いなく逆の感覚を抱くようになるw
掛けてもいいよ
437デフォルトの名無しさん
2018/09/10(月) 18:05:47.60ID:JmcP0T+k じゃあ俺のスーツを
438デフォルトの名無しさん
2018/09/10(月) 18:07:33.75ID:hb3Qyg+S 俺は靴下
439デフォルトの名無しさん
2018/09/10(月) 18:40:22.87ID:lrNRw7rP web屋、というかPHPerはsnake caseじゃなきゃヤダ!派がやっぱ多いよね
440デフォルトの名無しさん
2018/09/10(月) 18:55:37.19ID:DjrEsgmz そかあ・・慣れねぇ・・・
ところで「小文字で始めると規則違反って警告が出る」って話だけど
よくよく観察したら
VSがデフォで自動命名したのでも警告出るんだけど・・・・なんで?
例えば
private void button1_Click() の button1_Clickとか・・・
ところで「小文字で始めると規則違反って警告が出る」って話だけど
よくよく観察したら
VSがデフォで自動命名したのでも警告出るんだけど・・・・なんで?
例えば
private void button1_Click() の button1_Clickとか・・・
441デフォルトの名無しさん
2018/09/10(月) 19:07:39.58ID:okAQrHmq 日本語メンバは邪道?
442デフォルトの名無しさん
2018/09/10(月) 19:16:20.74ID:BcdHqxqC アンダーバーを入れない理w
バカ怖るべしwww
バカ怖るべしwww
443デフォルトの名無しさん
2018/09/10(月) 19:17:08.96ID:7Twb5yy4 >>436
単語の間に空白を入れると視認性が高まるという研究結果があるらしい
それを信じるなら、空白ではないがセパレーターが間に入るスネークケースとケバブケースは理にかなってるはずだ
何はともあれまずは実験してみるべきだろう
単語の間に空白を入れると視認性が高まるという研究結果があるらしい
それを信じるなら、空白ではないがセパレーターが間に入るスネークケースとケバブケースは理にかなってるはずだ
何はともあれまずは実験してみるべきだろう
444デフォルトの名無しさん
2018/09/10(月) 20:53:55.15ID:DjrEsgmz >>440
自己レス
オプションのコーディングスタイルの
「フィールド以外のメンバー」がパスカルになってたから
これを削除したら出なくなったわ
キャメルにしたかったけど選択肢に無かったから削除にした
よく分からないけどこれで良いんだろうか?www
自己レス
オプションのコーディングスタイルの
「フィールド以外のメンバー」がパスカルになってたから
これを削除したら出なくなったわ
キャメルにしたかったけど選択肢に無かったから削除にした
よく分からないけどこれで良いんだろうか?www
445428
2018/09/10(月) 21:01:52.45ID:ZrUglARC わかりました。とりあえず例外の使い方を勉強します。
446デフォルトの名無しさん
2018/09/10(月) 21:27:12.53ID:j74hNM/I キャメルでもパスカルでもスネークでもケバブでもどれでもいいと思うけどな
コーディングスタイルにこだわる理由が分からん
見やすさならスネークとケバブだとは思う。理由は英語自体がスペースで区切る方式だから
と言いながら個人開発では慣れたキャメルやパスカルだけどさ
あ、個人サイトのURLはスネークケースだわ
コーディングスタイルにこだわる理由が分からん
見やすさならスネークとケバブだとは思う。理由は英語自体がスペースで区切る方式だから
と言いながら個人開発では慣れたキャメルやパスカルだけどさ
あ、個人サイトのURLはスネークケースだわ
447デフォルトの名無しさん
2018/09/10(月) 21:29:11.62ID:j74hNM/I448デフォルトの名無しさん
2018/09/10(月) 21:47:33.87ID:98dDshqq コンボボックスやテキストボックスを引数にしたい場合って、object?control?
449デフォルトの名無しさん
2018/09/10(月) 21:51:04.49ID:BpMg5Aug450デフォルトの名無しさん
2018/09/10(月) 21:56:41.48ID:98dDshqq 入力のエラーチェックでカンマが入ってるかどうかチェックするのに引数で持ってきたい場合はどうすれば?
まぁコンボボックスは入力するところではないんですけど...
まぁコンボボックスは入力するところではないんですけど...
451デフォルトの名無しさん
2018/09/10(月) 21:59:41.61ID:BpMg5Aug >>450
それは入力したテキストだけを参照したらいいのでは?
それは入力したテキストだけを参照したらいいのでは?
452デフォルトの名無しさん
2018/09/10(月) 23:13:48.33ID:j74hNM/I >>450
カンマが入ってるかどうかチェックする値を引数にすればいいのでは?
カンマが入ってるかどうかチェックする値を引数にすればいいのでは?
453デフォルトの名無しさん
2018/09/10(月) 23:31:45.25ID:JmcP0T+k 普通コンボボックスごと渡したりしないよな
454デフォルトの名無しさん
2018/09/11(火) 00:38:00.63ID:fWYCS2WK 見知らぬ人が作ったVBを勉強がてらC♯変換しててVBがそうなってたもので. ..
テキストを渡してやることにします。
テキストを渡してやることにします。
455デフォルトの名無しさん
2018/09/11(火) 01:07:46.00ID:R24CyBtF 横槍だがそれにつけるメソッド名どんなのにすればいいの?
参考に教えて
GetStringDeleteComma()
とか?
参考に教えて
GetStringDeleteComma()
とか?
456デフォルトの名無しさん
2018/09/11(火) 01:09:08.78ID:pVzZZpUQ デリートコンマでよくね
457デフォルトの名無しさん
2018/09/11(火) 01:09:51.19ID:HX9tNh9Z >>450
カンマなど余計な文字数とってやるって手もある
カンマなど余計な文字数とってやるって手もある
458デフォルトの名無しさん
2018/09/11(火) 09:24:30.87ID:3oMSZQth 見知らぬ奴のソースは踏襲しないほうがいい
459デフォルトの名無しさん
2018/09/11(火) 12:37:34.88ID:LDsiYPvK >>453
例えば、エクセルを読み込んでその各列の値をそれぞれ複数のコンボボックスに入れる時はどうしたらいいですか?
追加部分を別クラスに書いて、引数はフォーム、列のカラム、コンボボックスなど渡してやったりするのは駄目な書き方?
例えば、エクセルを読み込んでその各列の値をそれぞれ複数のコンボボックスに入れる時はどうしたらいいですか?
追加部分を別クラスに書いて、引数はフォーム、列のカラム、コンボボックスなど渡してやったりするのは駄目な書き方?
460デフォルトの名無しさん
2018/09/11(火) 13:17:21.96ID:glgNbbLv461デフォルトの名無しさん
2018/09/11(火) 13:22:18.04ID:ik07SMEJ HasComma
462デフォルトの名無しさん
2018/09/11(火) 13:27:52.11ID:glgNbbLv >>461
MSのコーディングスタイルに準拠するならそれだな
MSのコーディングスタイルに準拠するならそれだな
463デフォルトの名無しさん
2018/09/11(火) 13:47:02.45ID:OkaM0mAN >>453
場合による
場合による
464デフォルトの名無しさん
2018/09/11(火) 13:48:11.63ID:SNgh1+C8 >>460
それだとカンマが含まれてる場合にtrueとfalseのどっちが返ってくるか判断できんやろ
それだとカンマが含まれてる場合にtrueとfalseのどっちが返ってくるか判断できんやろ
465デフォルトの名無しさん
2018/09/11(火) 14:33:59.50ID:bYPr0L5F ほんじゃカンマ以外が入っていたらどーすんのってなるから数値以外削除して返せばいい
って思ったけどどういう関数名にするんだ?
って思ったけどどういう関数名にするんだ?
466デフォルトの名無しさん
2018/09/11(火) 14:36:57.03ID:928ZQD1C ?w
467デフォルトの名無しさん
2018/09/11(火) 14:51:12.92ID:glgNbbLv468デフォルトの名無しさん
2018/09/11(火) 15:00:09.50ID:Arul2OBN hasも英語として不自然なのでcontainsを使ってw
もっと言うなら、StringのメソッドにContainsが既にあるので
わざわざカンマを含むかどうかを検査する専用メソッドに存在意義があるとは俺には思えん
もっと言うなら、StringのメソッドにContainsが既にあるので
わざわざカンマを含むかどうかを検査する専用メソッドに存在意義があるとは俺には思えん
469デフォルトの名無しさん
2018/09/11(火) 16:42:24.04ID:AGybRa2Z データグリッドビューを別フォームに渡して
コンストラクタで受け取ります
このとき元のデータグリッドビューと切り離す琺瑯教えてください
複製したいです
この時データセットやデータテーブルは駄目です
コンストラクタで受け取ります
このとき元のデータグリッドビューと切り離す琺瑯教えてください
複製したいです
この時データセットやデータテーブルは駄目です
470デフォルトの名無しさん
2018/09/11(火) 16:45:15.78ID:AGybRa2Z 琺瑯→方法
471デフォルトの名無しさん
2018/09/11(火) 16:47:43.89ID:ylc2S0TC DataGridViewじゃなくてDataSource受け渡しでDataSourceをコピーじゃダメなの?
472デフォルトの名無しさん
2018/09/11(火) 16:49:08.34ID:GlOIz1sj 同じRowとColumnの数の新しいDataGridViewを作り、それぞれのValueを書き込んでください
473デフォルトの名無しさん
2018/09/11(火) 16:57:15.28ID:TAVTHaAT 新しくnewしたDataGridViewに手作業で必要なプロパティ設定していく
ColumnsとRowsはforeachしてそれぞれCloneしたのをAddする
イベント類はまあどうでもいいか
ColumnsとRowsはforeachしてそれぞれCloneしたのをAddする
イベント類はまあどうでもいいか
474デフォルトの名無しさん
2018/09/11(火) 17:00:09.28ID:qpgjCo1u 継承したフォームにデータセット渡す
475デフォルトの名無しさん
2018/09/11(火) 17:27:08.25ID:Arul2OBN >>469
何言ってるのかさっぱり分からんけどこういうこと?
〜 Form1 〜
Controls.Remove(dataGridView1);
var form2 = new Form2(dataGridView1);
form2.Show();
〜 Form2 〜
public Form2(DataGridView dgv)
{
InitializeComponent();
Controls.Add(dgv);
}
何言ってるのかさっぱり分からんけどこういうこと?
〜 Form1 〜
Controls.Remove(dataGridView1);
var form2 = new Form2(dataGridView1);
form2.Show();
〜 Form2 〜
public Form2(DataGridView dgv)
{
InitializeComponent();
Controls.Add(dgv);
}
476デフォルトの名無しさん
2018/09/11(火) 17:33:47.77ID:Arul2OBN 移動元でControls.Remove不要みたいだね
こんなの必要になったことがないからやったこともなかった
こんなの必要になったことがないからやったこともなかった
477デフォルトの名無しさん
2018/09/11(火) 18:15:11.25ID:K2tTWTaM XMLに書き出して新しく作ったFormにロードするのが一番シンプル
478デフォルトの名無しさん
2018/09/11(火) 19:28:23.64ID:FmRL3j/P 俺も気になるわこれ
DataGridViewでCloneできればいいのに
画面上のソート順を保つためDataGridViewごと他フォームに渡したりする
でも元フォームでデータ変更されると渡したDataGridViewも変わるから
それが嫌だったことある
そん時は元フォームで1行ずつ先頭から呼んで別のDataSet作ったけど
DataGridViewでCloneできればいいのに
画面上のソート順を保つためDataGridViewごと他フォームに渡したりする
でも元フォームでデータ変更されると渡したDataGridViewも変わるから
それが嫌だったことある
そん時は元フォームで1行ずつ先頭から呼んで別のDataSet作ったけど
479デフォルトの名無しさん
2018/09/12(水) 02:22:23.95ID:vTtqi/en 素人だからデータの保持や別データとのやりとりはListでやっといて
更新される度に毎回DataBindings初期化していちいち読み込んでるわ
動くから……いいかなって……
更新される度に毎回DataBindings初期化していちいち読み込んでるわ
動くから……いいかなって……
480デフォルトの名無しさん
2018/09/12(水) 13:02:32.22ID:Jn68slr9 データグリッドビューでやるのは無理なんですね…
一行ずつ新しいデータテーブルに読み込んで複製します
ありがとうございました
一行ずつ新しいデータテーブルに読み込んで複製します
ありがとうございました
481デフォルトの名無しさん
2018/09/12(水) 13:22:31.80ID:Nj/C/MXJ そうじゃなくて、だからそもそも何言ってるのか誰も理解できないんだってw
まともな日本語書けと
他人に通じるまともな文章に書き直したら答えが返ってくる問題かもしれんよw
まともな日本語書けと
他人に通じるまともな文章に書き直したら答えが返ってくる問題かもしれんよw
482デフォルトの名無しさん
2018/09/12(水) 14:36:44.55ID:Jn68slr9 フォームのデータグリッドビューを
別フォームのクラスに渡してコンストラクタで受け取るんです
DataGridView dgv = srcDvg;
そうすると元フォームのデータグリッドビューを変更すると譲渡先のdgvも変更されちゃうんです
コレを止めたいです
元を変更してもdgvは渡されたときの状態を保つ方法が知りたいです
なお、この時データセットやデータテーブルを使用せず
データグリッドビューのままやる方法はありませんかと言う質問です 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
別フォームのクラスに渡してコンストラクタで受け取るんです
DataGridView dgv = srcDvg;
そうすると元フォームのデータグリッドビューを変更すると譲渡先のdgvも変更されちゃうんです
コレを止めたいです
元を変更してもdgvは渡されたときの状態を保つ方法が知りたいです
なお、この時データセットやデータテーブルを使用せず
データグリッドビューのままやる方法はありませんかと言う質問です 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
483デフォルトの名無しさん
2018/09/12(水) 14:37:39.66ID:Jn68slr9 なんでRocketや…
484デフォルトの名無しさん
2018/09/12(水) 14:47:38.46ID:SYobtT/Z 参照元の状態を反映するのはC#の仕様なんだから新しいインスタンス作って
何らかの形で中身コピーする必要があるのはどのクラスでも一緒(Bitmapとかも)
何らかの形で中身コピーする必要があるのはどのクラスでも一緒(Bitmapとかも)
485デフォルトの名無しさん
2018/09/12(水) 16:52:38.09ID:9GvVVUqs 面倒くさいことはしたくないって思考だな
486デフォルトの名無しさん
2018/09/12(水) 16:59:40.03ID:fIpfvqUu 面倒くさいことを楽にしようというのがソフトウェアだからな
487デフォルトの名無しさん
2018/09/12(水) 17:04:10.32ID:Jn68slr9 ありがとうございます
大人しく作り直します
大人しく作り直します
488デフォルトの名無しさん
2018/09/12(水) 17:25:49.83ID:MyqFbSbG 初心者用なのに初心者に厳しい自称プロさんたち
489デフォルトの名無しさん
2018/09/12(水) 17:37:25.30ID:JkfDtodY490デフォルトの名無しさん
2018/09/12(水) 18:45:38.51ID:6MfZXYju >>478
継承しろや!
継承しろや!
491デフォルトの名無しさん
2018/09/12(水) 22:45:44.44ID:JSQG/Jue linq
リンキューですか?
ラインクですか?
リンキューですか?
ラインクですか?
492デフォルトの名無しさん
2018/09/12(水) 22:59:50.57ID:HCZYwh62 リンクじゃないのか?
俺はアクセントがわからない
俺はアクセントがわからない
493デフォルトの名無しさん
2018/09/13(木) 01:12:43.13ID:xXJqEk25 リンクだと思ってた
494デフォルトの名無しさん
2018/09/13(木) 03:37:55.81ID:4tq0ggVx >>490
したない
したない
495デフォルトの名無しさん
2018/09/13(木) 05:03:38.49ID:wmIVPXZe byte a;
byte b;
byte c = a + b;
だと型が合わないとエラーが出る
左辺をint cにするか、右辺を(byte)(a + b)にする必要があるんだな
なんで型が合わないのか分からず一日ドツボにはまった
入門レベルの参考書には載ってないし
でもバイト型とバイト型を演算したら答えはイント型に変わるって
根本的におかしくね?
byte b;
byte c = a + b;
だと型が合わないとエラーが出る
左辺をint cにするか、右辺を(byte)(a + b)にする必要があるんだな
なんで型が合わないのか分からず一日ドツボにはまった
入門レベルの参考書には載ってないし
でもバイト型とバイト型を演算したら答えはイント型に変わるって
根本的におかしくね?
496デフォルトの名無しさん
2018/09/13(木) 05:09:18.59ID:1YFyErS3 why?
497デフォルトの名無しさん
2018/09/13(木) 06:06:29.57ID:4tq0ggVx498デフォルトの名無しさん
2018/09/13(木) 08:17:24.20ID:IoXWiQ4j >>491
リンクだとlinkって感じなので心の中ではリンクゥって言ってる
リンクだとlinkって感じなので心の中ではリンクゥって言ってる
499デフォルトの名無しさん
2018/09/13(木) 08:18:16.41ID:Ts60fXh8 >>495
CPUはそういうもん
小さな型でもいったんCPUに応じた処理しやすい自然なサイズに変換してから演算する
32/64bit CPUと呼ばれる所以だ
もちろんbyte同士なら演算後に勝手にbyteにキャストする仕様もありうるけど、
そんなことをしてもせっかく255を超えてもオーバーフローせずに表現できてるものを
わざわざ余計な処理入れて切り捨てるなんて無駄でしかないからCPUの仕様に合わせている
CPUはそういうもん
小さな型でもいったんCPUに応じた処理しやすい自然なサイズに変換してから演算する
32/64bit CPUと呼ばれる所以だ
もちろんbyte同士なら演算後に勝手にbyteにキャストする仕様もありうるけど、
そんなことをしてもせっかく255を超えてもオーバーフローせずに表現できてるものを
わざわざ余計な処理入れて切り捨てるなんて無駄でしかないからCPUの仕様に合わせている
500デフォルトの名無しさん
2018/09/13(木) 08:44:11.24ID:eHHJ6hTJ >>491
https://www.microsoft.com/ja-jp/mic/seminar/programing_linq.aspx
>統合的なデータの問い合わせを実現したテクノロジ LINQ (リンク)
https://www.microsoft.com/ja-jp/mic/seminar/programing_linq.aspx
>統合的なデータの問い合わせを実現したテクノロジ LINQ (リンク)
501デフォルトの名無しさん
2018/09/13(木) 10:09:10.44ID:7r2vSdtk LINQ職人の方に聞きたいのですが
var 元 = new[] {
new {Index = 0, Value = "あ"},
new {Index = 1, Value = "い"},
new {Index = 3, Value = "う"}
};
みたいな羅列があって、こいつを平凡な string[] に変換したいです。
[0] → "あ"
[1] → "い"
[2] → null
[3] → "う"
LINQ 1発でバシって出来ませんか?
var 元 = new[] {
new {Index = 0, Value = "あ"},
new {Index = 1, Value = "い"},
new {Index = 3, Value = "う"}
};
みたいな羅列があって、こいつを平凡な string[] に変換したいです。
[0] → "あ"
[1] → "い"
[2] → null
[3] → "う"
LINQ 1発でバシって出来ませんか?
502デフォルトの名無しさん
2018/09/13(木) 10:15:23.01ID:vxp+pG1B 普通にはできません
503デフォルトの名無しさん
2018/09/13(木) 10:49:45.94ID:uKwFSQ+m LINQ 外部結合
ぐらいでググったらそれらしいのあるが、やめとけ。
ぐらいでググったらそれらしいのあるが、やめとけ。
504デフォルトの名無しさん
2018/09/13(木) 10:55:31.20ID:n/Ia9Ufb さくっとできる
505デフォルトの名無しさん
2018/09/13(木) 10:59:56.20ID:n/Ia9Ufb rangeとzipな
506デフォルトの名無しさん
2018/09/13(木) 12:50:08.04ID:gBmhWXZp507デフォルトの名無しさん
2018/09/13(木) 15:34:46.60ID:B76L2xUy >>501
var 元 = new[]
{
new {Index = 0, Value = "あ"},
new {Index = 1, Value = "い"},
new {Index = 3, Value = "う"}
};
var array = Enumerable.Range(0, 4).Select(index => 元.Where(moto => moto.Index == index).FirstOrDefault()?.Value).ToArray();
var 元 = new[]
{
new {Index = 0, Value = "あ"},
new {Index = 1, Value = "い"},
new {Index = 3, Value = "う"}
};
var array = Enumerable.Range(0, 4).Select(index => 元.Where(moto => moto.Index == index).FirstOrDefault()?.Value).ToArray();
508デフォルトの名無しさん
2018/09/13(木) 15:38:33.86ID:TO6ro8xf ちなみにFirstOrDefaultはFunc<T, bool>を引数に取れるからWhereはなくていいよ
509デフォルトの名無しさん
2018/09/13(木) 16:23:35.73ID:B76L2xUy >>508の指摘にそって改良
var 元 = new[]
{
new {Index = 0, Value = "あ"},
new {Index = 1, Value = "い"},
new {Index = 3, Value = "う"}
};
var array = Enumerable.Range(0, 4)
.Select(index => 元.FirstOrDefault(moto => moto.Index == index)?.Value)
.ToArray();
var 元 = new[]
{
new {Index = 0, Value = "あ"},
new {Index = 1, Value = "い"},
new {Index = 3, Value = "う"}
};
var array = Enumerable.Range(0, 4)
.Select(index => 元.FirstOrDefault(moto => moto.Index == index)?.Value)
.ToArray();
510デフォルトの名無しさん
2018/09/13(木) 16:34:26.33ID:n/Ia9Ufb zipで一行
511デフォルトの名無しさん
2018/09/13(木) 16:48:55.75ID:Mtznb6SP >>510
コードで示して
コードで示して
512デフォルトの名無しさん
2018/09/13(木) 16:51:19.42ID:n/Ia9Ufb コードは甘え
513デフォルトの名無しさん
2018/09/13(木) 16:52:36.00ID:Mtznb6SP514デフォルトの名無しさん
2018/09/13(木) 17:34:16.92ID:fde6nCOF cscやmscが吐き出す実行ファイルについて教えてほしいのですが、これはOSや実行環境に依存せず実行できるのですか?
WindowsPC上で実行ファイルを作成し、それをRaspberry Pi等にコピーしてmono上で動くのかが知りたいです
WindowsPC上で実行ファイルを作成し、それをRaspberry Pi等にコピーしてmono上で動くのかが知りたいです
515デフォルトの名無しさん
2018/09/13(木) 17:40:54.40ID:O9n8eAiW516デフォルトの名無しさん
2018/09/13(木) 19:29:30.60ID:nU06fVx/ Tostaring();
Set focus();
とかの()の意味を教えてください。
Set focus();
とかの()の意味を教えてください。
517デフォルトの名無しさん
2018/09/13(木) 19:30:56.20ID:84N5Yvll >>516
引数が存在しないことを示す
引数が存在しないことを示す
518デフォルトの名無しさん
2018/09/13(木) 20:13:42.27ID:tX4xVeil 言葉も出ない、ということ
519デフォルトの名無しさん
2018/09/13(木) 21:21:45.27ID:RirS5RMp >>516
演算子だって考えるのが素直でしょう
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/invocation-operator
デリゲートの後ろに引数リストを囲った()を付けるとメソッドが呼び出される
演算子だって考えるのが素直でしょう
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/invocation-operator
デリゲートの後ろに引数リストを囲った()を付けるとメソッドが呼び出される
520デフォルトの名無しさん
2018/09/13(木) 21:24:09.90ID:RirS5RMp しかし、Tostaringてw
ドラマか何かの主演俳優にするメソッドがw
ドラマか何かの主演俳優にするメソッドがw
521デフォルトの名無しさん
2018/09/13(木) 21:25:43.52ID:YrOTDcXS スターリンがどうかしたって?
522デフォルトの名無しさん
2018/09/13(木) 21:26:14.24ID:6Z3XXp4U はからずもS式の合理性を再認識させられる初秋の夜であった
523デフォルトの名無しさん
2018/09/13(木) 22:00:27.97ID:tu9+IsVI >>501
Enumerable.Range(0, 4)
.GroupJoin(元, m => m, i => i.Index,
(m, i) => i.FirstOrDefault()?.Value)
.ToArray()
長いね…
Enumerable.Range(0, 4)
.GroupJoin(元, m => m, i => i.Index,
(m, i) => i.FirstOrDefault()?.Value)
.ToArray()
長いね…
524デフォルトの名無しさん
2018/09/13(木) 22:14:47.62ID:JHngkFny 元.Aggregate(new string[4], (a, x) => { a[x.Index] = x.Value; return a;});
525デフォルトの名無しさん
2018/09/13(木) 22:17:18.10ID:z+6RPAPe おお
526デフォルトの名無しさん
2018/09/13(木) 22:21:08.27ID:u61xW8CT527デフォルトの名無しさん
2018/09/13(木) 22:31:31.75ID:z+6RPAPe 3項塩山市をつかう
528デフォルトの名無しさん
2018/09/14(金) 07:23:37.25ID:dEKf7JQJ >>1のスレ趣旨にあるように、
超初心者でも、気軽に入り込めるスレに、して欲しいです。
超初心者でも、気軽に入り込めるスレに、して欲しいです。
529デフォルトの名無しさん
2018/09/14(金) 07:53:12.59ID:zwGydTBu LINQのメソッドこねくり回しているのは超初心者には厳しいかな?
530デフォルトの名無しさん
2018/09/14(金) 08:02:41.43ID:ixgSdYSb おまえも超初心者やんw
そうゆうとこやあかんのはw
そうゆうとこやあかんのはw
531デフォルトの名無しさん
2018/09/14(金) 09:26:00.50ID:6Xa6OuyO Aggregate優勝
532デフォルトの名無しさん
2018/09/14(金) 09:48:38.96ID:YVc6B226 Aggregateのパターンを実際使うとすると配列代入時のインデックス範囲チェックが必要で結局長くなるんだよな
533デフォルトの名無しさん
2018/09/14(金) 10:20:53.65ID:VsV8E9sx 業務システム開発でLinqと三項演算子だけでほとんど処理を書いていたら 応用情報技術者試験のアルゴリズム問題でカウンタを持つようなfor文が全然読めなくなってしまいました
やはり開発においてLinqは有害なのでしょうか?
やはり開発においてLinqは有害なのでしょうか?
534デフォルトの名無しさん
2018/09/14(金) 10:40:20.21ID:74Ijv3/g >>533
貴方の脳の品質の問題をLINQの問題にしないでください
貴方の脳の品質の問題をLINQの問題にしないでください
535デフォルトの名無しさん
2018/09/14(金) 12:17:21.38ID:uKNqObYo まあ脳の病気だわな
536デフォルトの名無しさん
2018/09/15(土) 10:29:16.94ID:xmiaTl3L C#7のローカル関数って、一つのメソッドからしか呼ばれないなら良いと思うんだが、ユニットテストはどうなるんだろ?
537デフォルトの名無しさん
2018/09/15(土) 11:18:16.17ID:luWyo1Kp >>536
ユニットテストはやる人などによってやり方はそれぞれだろう
ユニットテストはやる人などによってやり方はそれぞれだろう
538デフォルトの名無しさん
2018/09/15(土) 11:19:27.99ID:PMHdQMes privateメンバのユニットテストをしようとするのはそもそも誤り
壊れやすいテストは結果的にメンテされなくなり意味を為さなくなる
壊れやすいテストは結果的にメンテされなくなり意味を為さなくなる
539デフォルトの名無しさん
2018/09/15(土) 12:21:00.32ID:hseJLl5H540デフォルトの名無しさん
2018/09/15(土) 20:38:11.28ID:elLmwu/2 LinQの中身がfor文って本当ですか?
541デフォルトの名無しさん
2018/09/15(土) 20:39:51.17ID:xmiaTl3L >>537-539
納得しました、サンクス
納得しました、サンクス
542デフォルトの名無しさん
2018/09/15(土) 21:16:49.41ID:vc2YYDHO543デフォルトの名無しさん
2018/09/15(土) 21:24:11.06ID:8rxpHkWL for文の中身がgotoて本当ですか?
544デフォルトの名無しさん
2018/09/15(土) 21:29:31.15ID:Fr67tYwB コンパイル結果見ればわかる
545デフォルトの名無しさん
2018/09/15(土) 21:48:21.87ID:iPPDwx/Y 列挙子とforeachの組み合わせってforよりおそい?
546デフォルトの名無しさん
2018/09/15(土) 21:51:19.05ID:VeSVHeu2 数%の処理速度の違いを気にするくらいならその都度試してみればいいんじゃないかな
547デフォルトの名無しさん
2018/09/15(土) 21:53:24.60ID:iPPDwx/Y いや、なんでLINQ遅いって言われてるのかなっておもって
548デフォルトの名無しさん
2018/09/15(土) 21:56:28.37ID:88GvsHdE 遅いと言えば遅いよ
余計な手数が増えてるから
気になるなら後からでも書き換えればいいだけ
余計な手数が増えてるから
気になるなら後からでも書き換えればいいだけ
549デフォルトの名無しさん
2018/09/15(土) 21:57:40.02ID:8rxpHkWL550デフォルトの名無しさん
2018/09/15(土) 21:58:32.54ID:iPPDwx/Y その程度の差なんですね
よほど大きなオーバーヘッドでもあるのかと思ってた
よほど大きなオーバーヘッドでもあるのかと思ってた
551デフォルトの名無しさん
2018/09/15(土) 22:09:29.85ID:j1sHLBNC MSIL勉強したいのですが、参考になるサイトを教えてもらいませんか?
552デフォルトの名無しさん
2018/09/15(土) 22:14:24.26ID:nm6j3SBT MSDN
553デフォルトの名無しさん
2018/09/15(土) 23:09:21.09ID:elLmwu/2554デフォルトの名無しさん
2018/09/15(土) 23:53:24.63ID:iPPDwx/Y linqの中身はforeachで列挙子を回してる
それは
while(次の要素を取得するメソッド){
要素に対する処理のメソッド
}
に展開される
詳しくないから適当だけど
それは
while(次の要素を取得するメソッド){
要素に対する処理のメソッド
}
に展開される
詳しくないから適当だけど
555デフォルトの名無しさん
2018/09/16(日) 01:03:15.10ID:uYUceUNT アセンブラでもやってろよ
556デフォルトの名無しさん
2018/09/16(日) 01:04:46.36ID:ANojdriP がっつりパフォーマンスのチューニングしたことあるわけじゃないけど
unityの毎フレーム行われるような処理で使わない限りlinqの速度が問題になることはないんじゃないか?
unityの毎フレーム行われるような処理で使わない限りlinqの速度が問題になることはないんじゃないか?
557デフォルトの名無しさん
2018/09/16(日) 06:05:13.06ID:75aeC/cD プログラムによる
プロファイラで分析しろ
ボトルネックの分析前に100倍遅いのとか1000倍遅いとか言っても何の意味もねえから
プロファイラで分析しろ
ボトルネックの分析前に100倍遅いのとか1000倍遅いとか言っても何の意味もねえから
558デフォルトの名無しさん
2018/09/16(日) 08:07:06.87ID:HxZqM27H ゲームで描画以外の処理が問題になることは少ない
559デフォルトの名無しさん
2018/09/16(日) 08:29:55.59ID:AZs5fz+o アプリケーションのプロパティの中にある[設定]という項目で
Properties.Settings.Default.xxxでint型配列の変数を保存したいのですが
できませんでしょうか?
前回使ったパラメータ群を配列で保存して
次回に読み込んで再現したいのですが
別の方法でもいいのですが参考になる解説ページでもあれば教えてください
Properties.Settings.Default.xxxでint型配列の変数を保存したいのですが
できませんでしょうか?
前回使ったパラメータ群を配列で保存して
次回に読み込んで再現したいのですが
別の方法でもいいのですが参考になる解説ページでもあれば教えてください
560デフォルトの名無しさん
2018/09/16(日) 09:04:23.29ID:psXGYTXF >>559
「,」でjoinして文字列で保存、取り出すときに「,」でsplitとかどうだろ?
「,」でjoinして文字列で保存、取り出すときに「,」でsplitとかどうだろ?
561デフォルトの名無しさん
2018/09/16(日) 09:25:05.54ID:2ksH8VYk562デフォルトの名無しさん
2018/09/16(日) 09:42:20.10ID:AZs5fz+o563デフォルトの名無しさん
2018/09/16(日) 10:07:09.66ID:aJAMOBK/ 例えばアプリケーション終了時に画面のサイズと位置を保存して
次回起動時に設定をロードするとしたら
なにで保存しますか?XML?INI?JSON?
次回起動時に設定をロードするとしたら
なにで保存しますか?XML?INI?JSON?
564デフォルトの名無しさん
2018/09/16(日) 11:04:54.55ID:rvnq8hQD565デフォルトの名無しさん
2018/09/16(日) 11:12:58.81ID:txQA20Wu 昔からあるVSの定型Tipsだけど
この上から目線な感じは
もっと高度な議論を吹っ掛けてるんじゃね?
くわばらくわばら
この上から目線な感じは
もっと高度な議論を吹っ掛けてるんじゃね?
くわばらくわばら
566デフォルトの名無しさん
2018/09/16(日) 11:25:39.54ID:gTaOdbFs >>563
俺はXMLで実行ファイルと同じ場所に保存してる
俺はXMLで実行ファイルと同じ場所に保存してる
567デフォルトの名無しさん
2018/09/16(日) 12:37:43.94ID:ksMt/4i/ >>566
実行ファイルと同じ場所は書き込み権限がなかったりするからMS的にはApplication.UserAppDataPathで得られる場所などを推奨
実行ファイルと同じ場所は書き込み権限がなかったりするからMS的にはApplication.UserAppDataPathで得られる場所などを推奨
568デフォルトの名無しさん
2018/09/16(日) 12:48:14.51ID:LixUwGN0 >>559
IDEでプロパティの型を選ぶところの中には配列ってなかったっけ
IDEでプロパティの型を選ぶところの中には配列ってなかったっけ
569デフォルトの名無しさん
2018/09/16(日) 13:06:53.35ID:16Y59QgZ 場所や形式はなんでもいいけど
読み書きクラスを上手くカプセル化しないと後で変更効かなくなって泣くのでそっちのほうが重要
読み書きクラスを上手くカプセル化しないと後で変更効かなくなって泣くのでそっちのほうが重要
570デフォルトの名無しさん
2018/09/16(日) 13:19:04.65ID:p+qyV3Lh いや、場所や形式は重要だよ
571デフォルトの名無しさん
2018/09/16(日) 13:23:10.99ID:aJAMOBK/572デフォルトの名無しさん
2018/09/16(日) 13:32:26.33ID:16Y59QgZ573デフォルトの名無しさん
2018/09/16(日) 13:59:51.99ID:hCxE0E+A574デフォルトの名無しさん
2018/09/16(日) 14:01:52.05ID:w97F4Kz1 どこに保存するかはかなり致命的な問題になるから
今から学んでおいて損はないよ
今から学んでおいて損はないよ
575デフォルトの名無しさん
2018/09/16(日) 14:10:32.40ID:uf7cGEex >>573
ProgramFilesがなんで出てくるかもわからないし設定ファイルのデータアクセスのスピードが問題になるのはおかしい
ProgramFilesがなんで出てくるかもわからないし設定ファイルのデータアクセスのスピードが問題になるのはおかしい
576デフォルトの名無しさん
2018/09/16(日) 14:17:56.47ID:gTaOdbFs577デフォルトの名無しさん
2018/09/16(日) 14:41:31.05ID:gTaOdbFs578デフォルトの名無しさん
2018/09/16(日) 14:41:58.58ID:ksMt/4i/ UACが出来てからディレクトリの書き込み制限が厳しくなってるから意識する事は大切ですね
>>574
>>574
579デフォルトの名無しさん
2018/09/16(日) 19:10:33.14ID:PDDwZiUq580デフォルトの名無しさん
2018/09/16(日) 19:10:39.97ID:8jdJAOdP 書き込み制限するだけならまだマシなんだが
勝手にリダイレクトしやがったりするからなぁ
それも同じOSでもUAC設定だけでしたりしなかったり
勝手にリダイレクトしやがったりするからなぁ
それも同じOSでもUAC設定だけでしたりしなかったり
581デフォルトの名無しさん
2018/09/16(日) 19:15:37.35ID:SnNXv25N582デフォルトの名無しさん
2018/09/16(日) 19:41:28.41ID:5YLu0Ky3 いやいや保存場所は最初から重視しないとだめだよ
あとで罠にはまるよ
あとで罠にはまるよ
583デフォルトの名無しさん
2018/09/16(日) 19:50:02.93ID:SnNXv25N >>582
情報が出揃ってない序盤で決定するのはNG
根拠の薄い判断に盲目的に従って進めるよりはわからないものはわからないと認識した上で進めるほうが良い
最初は良いインターフェイスを決定することに注力する
開発が進むと徐々に客が(隠していた|失念していた)情報を出してくるのでそうなってから検討すればよい
それまでは暫定で簡単な実装を置いておく
情報が出揃ってない序盤で決定するのはNG
根拠の薄い判断に盲目的に従って進めるよりはわからないものはわからないと認識した上で進めるほうが良い
最初は良いインターフェイスを決定することに注力する
開発が進むと徐々に客が(隠していた|失念していた)情報を出してくるのでそうなってから検討すればよい
それまでは暫定で簡単な実装を置いておく
584デフォルトの名無しさん
2018/09/16(日) 19:57:02.81ID:AeuhPaJN よくわからないけど設定ファイルを柔軟にする必要はないよ
585デフォルトの名無しさん
2018/09/16(日) 19:59:35.75ID:AeuhPaJN 実装方法を知りたい人にインターフェイス云々から始める人は無視
586デフォルトの名無しさん
2018/09/16(日) 20:03:32.45ID:oQtqL1qV どの初心者スレでも明後日のレスしてドヤりたがっとるプロさんおるねw
587デフォルトの名無しさん
2018/09/16(日) 20:14:16.80ID:AeuhPaJN いいや
プロ的にもありえないだろ
プロ的にもありえないだろ
588デフォルトの名無しさん
2018/09/16(日) 20:31:15.27ID:Ka1tFSGh 具体例示さず「〜しなきゃいけない」とかいうのは「妄想お疲れ」って返しておけばいいよ
589デフォルトの名無しさん
2018/09/16(日) 20:59:15.70ID:AeuhPaJN 今後は全部の質問にインターフェイスの決定に注力しろって答えたらいいんだな
590デフォルトの名無しさん
2018/09/16(日) 21:19:05.23ID:Ka1tFSGh >>589
批判をずるずる引っ張るのはやめてくれ
批判をずるずる引っ張るのはやめてくれ
591デフォルトの名無しさん
2018/09/16(日) 21:46:31.24ID:SnNXv25N 雑魚しかおらんかったか
初心者スレだからしゃあないか
初心者スレだからしゃあないか
592デフォルトの名無しさん
2018/09/16(日) 21:47:28.61ID:PDDwZiUq また余計なことを
593デフォルトの名無しさん
2018/09/16(日) 23:49:26.08ID:EHluPWph Buggy C# Code: The 10 Most Common Mistakes in C# Programming
https://www.toptal.com/c-sharp/top-10-mistakes-that-c-sharp-programmers-make
俺はあまり共感できないな…
https://www.toptal.com/c-sharp/top-10-mistakes-that-c-sharp-programmers-make
俺はあまり共感できないな…
594デフォルトの名無しさん
2018/09/17(月) 00:28:42.00ID:+YOQSfB9 >>593
何が?
何が?
595デフォルトの名無しさん
2018/09/17(月) 00:43:15.18ID:48O793oJ 英語読める人ホント羨ましい
リリース当日にリファレンス把握できちゃうわけでしょ
リリース当日にリファレンス把握できちゃうわけでしょ
596デフォルトの名無しさん
2018/09/17(月) 00:43:43.99ID:tnCTTc8C >>591
お前が一番の雑魚
お前が一番の雑魚
597デフォルトの名無しさん
2018/09/17(月) 05:59:26.92ID:/N0hOtdj598デフォルトの名無しさん
2018/09/17(月) 08:16:13.80ID:bk1Atddi >>595
今からでも遅くないぜ。
今からでも遅くないぜ。
599デフォルトの名無しさん
2018/09/17(月) 11:20:21.31ID:SR+usNFF 対象文字列 "<xx><yy><xx>111</xx></yy></xx><xx>222</xx><xx>333</xx>"
があるとき、
xxの中を取り出す正規表現はどうしたらいいのでしょう?
ただし、xxが閉じる前にyyがあるときはそのxxは無視という条件付きです
例えば正規表現を @"<xx>.*?[^(</yy>)]</xx>" にすると
実行結果
<xx><yy><xx>111</xx> ←</yy></xx>が欠ける
<xx>222</xx>
<xx>333</xx>
欲しい結果は
<xx><yy><xx>111</xx></yy></xx>
<xx>222</xx>
<xx>333</xx>
があるとき、
xxの中を取り出す正規表現はどうしたらいいのでしょう?
ただし、xxが閉じる前にyyがあるときはそのxxは無視という条件付きです
例えば正規表現を @"<xx>.*?[^(</yy>)]</xx>" にすると
実行結果
<xx><yy><xx>111</xx> ←</yy></xx>が欠ける
<xx>222</xx>
<xx>333</xx>
欲しい結果は
<xx><yy><xx>111</xx></yy></xx>
<xx>222</xx>
<xx>333</xx>
600デフォルトの名無しさん
2018/09/17(月) 11:25:17.63ID:3TgxIbp4 内容はみてないけど
正規表現では検出できないパターンがある
それにあたるのかと
正規表現では検出できないパターンがある
それにあたるのかと
601デフォルトの名無しさん
2018/09/17(月) 11:32:42.98ID:rJA1qwMQ XMLとして要素抜き出したほうが確実じゃね
602デフォルトの名無しさん
2018/09/17(月) 11:38:46.01ID:dj7qSZnZ オレだったらどうでもいいしょうもないこと考えたくないから
普通にxerces使う
普通にxerces使う
603デフォルトの名無しさん
2018/09/17(月) 11:40:49.96ID:3TgxIbp4 質問からはxmlなのhtmlなのかすら確定できない
604デフォルトの名無しさん
2018/09/17(月) 11:42:17.99ID:3TgxIbp4 正規表現は括弧やタグの対応は苦手
中に再帰的構造があるものは苦手
その構造が特殊になるとさらに苦手
中に再帰的構造があるものは苦手
その構造が特殊になるとさらに苦手
605デフォルトの名無しさん
2018/09/17(月) 11:45:20.52ID:SR+usNFF xmlだけど同じデータ格納するのに色々なフォーマットがあるごちゃついたのだから
文字列として処理したいんです。正規表現使わずに力技で読むかなぁw
すみません。>>599の対象文字列がミス
対象文字列 "<xx><xx><yy>111</yy></xx></xx><xx>222</xx><xx>333</xx>";
試した正規表現 @"<xx>.*?[^(</yy>)]</xx>"
結果
<xx><xx><yy>111</yy></xx></xx><xx>222</xx>
<xx>333</xx>
欲しい結果
<xx><xx><yy>111</yy></xx></xx>
<xx>222</xx>
<xx>333</xx>
文字列として処理したいんです。正規表現使わずに力技で読むかなぁw
すみません。>>599の対象文字列がミス
対象文字列 "<xx><xx><yy>111</yy></xx></xx><xx>222</xx><xx>333</xx>";
試した正規表現 @"<xx>.*?[^(</yy>)]</xx>"
結果
<xx><xx><yy>111</yy></xx></xx><xx>222</xx>
<xx>333</xx>
欲しい結果
<xx><xx><yy>111</yy></xx></xx>
<xx>222</xx>
<xx>333</xx>
606デフォルトの名無しさん
2018/09/17(月) 11:45:52.85ID:SBpxj18K とりあえずこっちへ行け
Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net
http://mevius.5ch.net/test/read.cgi/tech/1489511075/
Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net
http://mevius.5ch.net/test/read.cgi/tech/1489511075/
607デフォルトの名無しさん
2018/09/17(月) 12:02:14.11ID:SR+usNFF C#の正規表現だからこっちにしたんだけど、あっちに引っ越します
608デフォルトの名無しさん
2018/09/17(月) 13:08:19.32ID:x9rlqJR2 したんだけどぉ
609デフォルトの名無しさん
2018/09/17(月) 14:34:45.72ID:IzAnQMU8 XMLや正規表現を考えるよりもデータ構造がどうなっても対応できるようにインターフェイスを考えるべきだろ
610デフォルトの名無しさん
2018/09/17(月) 16:03:32.30ID:KWfY0Z4o >>609
正解
正解
611デフォルトの名無しさん
2018/09/18(火) 01:24:04.08ID:4ympWGJc >>1
ぶっちゃけた話、C#って2030年まで生き残りますかね?
ぶっちゃけた話、C#って2030年まで生き残りますかね?
612デフォルトの名無しさん
2018/09/18(火) 01:39:12.39ID:eM+9yNEO 生き残ってる定義による
cobolなんてもう60歳だけど必要とされてる場面が無いわけじゃない
cobolなんてもう60歳だけど必要とされてる場面が無いわけじゃない
613デフォルトの名無しさん
2018/09/18(火) 02:11:14.63ID:6Xg+Nv26 >>611
進化続けてるし、余裕であると思う。
進化続けてるし、余裕であると思う。
614デフォルトの名無しさん
2018/09/18(火) 02:21:27.54ID:Ito09mAU そんでC++みたいにバージョンが制定年になると
正直機能的には3.0くらいであまり困らんのだけどね
簡潔に書けるとかはあるけど
ライブラリだけ拡充してくれれば
正直機能的には3.0くらいであまり困らんのだけどね
簡潔に書けるとかはあるけど
ライブラリだけ拡充してくれれば
615デフォルトの名無しさん
2018/09/18(火) 05:59:52.79ID:GWyG2DaA await無しで非同期処理書きたくないな
616デフォルトの名無しさん
2018/09/18(火) 08:10:13.67ID:gblGntZ1 LINQがないと死ねる
というかLINQがないとC#のアドバンテージを全く感じない言語になってしまう
それとawaitもそうだけど、C#はJavaに対してコンカレントプログラミングの能力に
まだまだ欠けていると思う
Javaの強みはjava.util.concurrentにあると思う
というかLINQがないとC#のアドバンテージを全く感じない言語になってしまう
それとawaitもそうだけど、C#はJavaに対してコンカレントプログラミングの能力に
まだまだ欠けていると思う
Javaの強みはjava.util.concurrentにあると思う
617デフォルトの名無しさん
2018/09/18(火) 08:19:55.28ID:O8EaoTgS java.util.concurrentってほとんど.NETにも同じのあるぞ
Javaのあの〇〇Queueとかクッソ使いづらい並列フロー制御系に対応するのはTPL Dataflowがある
Javaのあの〇〇Queueとかクッソ使いづらい並列フロー制御系に対応するのはTPL Dataflowがある
618デフォルトの名無しさん
2018/09/18(火) 08:39:24.89ID:PTaE8gsW >>616
メソッドにした方が2回目同じ処理するときにいいよ
メソッドにした方が2回目同じ処理するときにいいよ
619デフォルトの名無しさん
2018/09/18(火) 09:03:15.68ID:X6vi7zjN python如きには負けんよ
620デフォルトの名無しさん
2018/09/18(火) 10:06:07.53ID:ml+9R6/h 負けてるんだよなあ
621デフォルトの名無しさん
2018/09/18(火) 10:10:26.45ID:JkFBL6IZ 結局Windowsアプリケーションにしか使われてなくて
VBの代わりくらいのポジションなんですかね・・・
VBの代わりくらいのポジションなんですかね・・・
622デフォルトの名無しさん
2018/09/18(火) 10:24:42.25ID:Z0oFh/rY623デフォルトの名無しさん
2018/09/18(火) 10:52:42.36ID:9AO9WU5h UnityとかTypeScriptとか、色々と使われているでしょ
624デフォルトの名無しさん
2018/09/18(火) 10:58:02.59ID:PTaE8gsW625デフォルトの名無しさん
2018/09/18(火) 11:04:50.17ID:9sIU0wgT626デフォルトの名無しさん
2018/09/18(火) 12:05:26.41ID:ONx2VSk9 >>621
iOSやAndroidアプリにも使われてますよ
iOSやAndroidアプリにも使われてますよ
627デフォルトの名無しさん
2018/09/18(火) 12:54:57.79ID:/G1owK98 C#でカードゲーム作るため
テキストファイルに保存した
一行分をカードデータにしたいのですが
行指定はどうやるのでしょうか
テキストファイルに保存した
一行分をカードデータにしたいのですが
行指定はどうやるのでしょうか
628デフォルトの名無しさん
2018/09/18(火) 12:59:13.48ID:2NhqeWSI 1行ごとにList<string>に入れる
629デフォルトの名無しさん
2018/09/18(火) 13:34:02.44ID:Z0oFh/rY jsonか何かにしたほうが楽だと思うけど…
630デフォルトの名無しさん
2018/09/18(火) 13:39:50.95ID:X6vi7zjN .Net4.0までの環境で、Task.Runが使えないのですが
Task.Factory.StartNewを使う場合、戻り値を処理するContinueWithに該当する書き方はあるのでしょうか?
Task.Factory.StartNewを使う場合、戻り値を処理するContinueWithに該当する書き方はあるのでしょうか?
631デフォルトの名無しさん
2018/09/18(火) 14:06:00.86ID:OtLk5TCg >>622
System.Threading
System.Threading.Tasks
System.Threading.Tasks.Channels
System.Threading.Tasks.DataFlow
System.Collections.Concurrent
ちゃんとこの辺りを見よう
System.Threading
System.Threading.Tasks
System.Threading.Tasks.Channels
System.Threading.Tasks.DataFlow
System.Collections.Concurrent
ちゃんとこの辺りを見よう
632デフォルトの名無しさん
2018/09/18(火) 14:25:25.74ID:G1Vdk7ct633デフォルトの名無しさん
2018/09/18(火) 14:29:51.48ID:OtLk5TCg 最近の.NETってMS製の公式な標準ライブラリですら平気でNuGetだけで提供されるようになったけど
ビルドにインターネットからのダウンロードが必要なのはギョウムワールドだと問題になるところが多そう
ジャパニーズドカタは氏ねってことかな
ビルドにインターネットからのダウンロードが必要なのはギョウムワールドだと問題になるところが多そう
ジャパニーズドカタは氏ねってことかな
634デフォルトの名無しさん
2018/09/18(火) 14:38:44.61ID:XSFiXPPc >>625
タプルと合わせないと似たような機能にならない気がする
タプルと合わせないと似たような機能にならない気がする
635デフォルトの名無しさん
2018/09/18(火) 14:50:46.95ID:VPT0VaYi ぎょうむわーるどなんてなおさら最近の開発環境とは縁がないのでへーきへーき
636デフォルトの名無しさん
2018/09/18(火) 15:15:36.23ID:X6vi7zjN async await使わせてくれー
637デフォルトの名無しさん
2018/09/18(火) 15:31:00.86ID:ml+9R6/h >>633
世界平和に繋がって最高だね
世界平和に繋がって最高だね
638デフォルトの名無しさん
2018/09/18(火) 15:39:57.73ID:XSFiXPPc >>636
気軽に使うと問答無用でバグ票切られる機能だろそれ
まず待ちたいならタイムアウトを設定しないと
そもそも何がどんな状態で終了することを想定している?
リトライはいらない?
お前は何もしなくてよかったの?
自分の次の動作は待ってるタスクの結果次第だから待ってたのに何も受け取ってるように見えないけど?
ってぐらいは考慮してないとだいたいバグってる
気軽に使うと問答無用でバグ票切られる機能だろそれ
まず待ちたいならタイムアウトを設定しないと
そもそも何がどんな状態で終了することを想定している?
リトライはいらない?
お前は何もしなくてよかったの?
自分の次の動作は待ってるタスクの結果次第だから待ってたのに何も受け取ってるように見えないけど?
ってぐらいは考慮してないとだいたいバグってる
639デフォルトの名無しさん
2018/09/18(火) 20:45:48.05ID:PujpLEtU >>621
Google Cloud Platform Japan Blog
ポノス株式会社の導入事例: eスポーツ対応の対戦型ゲームを Compute Engine ベースで構築、レイテンシーの比較で最大 2 倍の差が採用の決め手
https://cloudplatform-jp.googleblog.com/2018/08/ponos-esports-compute-engine.html
> 特長的なのは、バトルサーバーで、アプリケーションが C# で書かれています。
>「Windows 上で C# を動かすのではなく、.NET Core を使って CentOS の上で C# を動かすという珍しい構成になっています。」
Google Cloud Platform Japan Blog
ポノス株式会社の導入事例: eスポーツ対応の対戦型ゲームを Compute Engine ベースで構築、レイテンシーの比較で最大 2 倍の差が採用の決め手
https://cloudplatform-jp.googleblog.com/2018/08/ponos-esports-compute-engine.html
> 特長的なのは、バトルサーバーで、アプリケーションが C# で書かれています。
>「Windows 上で C# を動かすのではなく、.NET Core を使って CentOS の上で C# を動かすという珍しい構成になっています。」
640デフォルトの名無しさん
2018/09/18(火) 22:17:49.42ID:xEaDxwfq >>633
ローカルのリポジトリ立てればいいやん
ローカルのリポジトリ立てればいいやん
641デフォルトの名無しさん
2018/09/18(火) 22:40:10.00ID:mQbB6K+e Javaと比べるとビルドから実行時までサクサク動くから気持ちいい
642デフォルトの名無しさん
2018/09/19(水) 01:24:11.00ID:4W6jsUF3 uiスレッドって1個だけ?
datagridviewのデータソースにdatatable突っ込んで何十万件も表示させてます
高速化する方法ないですか?
datagridviewのデータソースにdatatable突っ込んで何十万件も表示させてます
高速化する方法ないですか?
643デフォルトの名無しさん
2018/09/19(水) 06:12:31.75ID:JwM3WN1L その設計が間違ってる
何十万件も一度に表示www
何十万件も一度に表示www
644デフォルトの名無しさん
2018/09/19(水) 08:06:04.74ID:4W6jsUF3 それが一億とかのときもあるんです
645デフォルトの名無しさん
2018/09/19(水) 08:12:17.74ID:SZbHS6KX Form1.csに書くコードに対し、これは別クラスに書いとけってコードは例えばどんなものですか?
646デフォルトの名無しさん
2018/09/19(水) 08:25:39.24ID:eYANVd+E 動作にフォームのインスタンスが要らないもの
647デフォルトの名無しさん
2018/09/19(水) 08:26:54.31ID:eYANVd+E648デフォルトの名無しさん
2018/09/19(水) 08:45:08.99ID:KwEqagqF そこまで行くと高速化よりも
コルーチンで徐々に表示したりしてuiスレッドを止めないようにしたほうがいい
どう考えても設計見直したほうがいいけど
コルーチンで徐々に表示したりしてuiスレッドを止めないようにしたほうがいい
どう考えても設計見直したほうがいいけど
649デフォルトの名無しさん
2018/09/19(水) 09:10:17.79ID:wQAi5nmu650デフォルトの名無しさん
2018/09/19(水) 10:10:10.94ID:CHaa5XJ7 >>644
日付の期間指定を無制限にしてるなら、最大90日にするとか
日付の期間指定を無制限にしてるなら、最大90日にするとか
651デフォルトの名無しさん
2018/09/19(水) 10:12:39.12ID:buYyvBpb DataGridViewってクッソ重いのと、DataTableとDataSetとDataViewもあるし、そもそもその先にはデータベースもあるわけで
DataGridViewとデータベースだけでいいんじゃね?って思うことがよくある
DataGridViewとデータベースだけでいいんじゃね?って思うことがよくある
652デフォルトの名無しさん
2018/09/19(水) 10:18:16.90ID:y7jhKYXL webで作ったら普通に一億件表示しようなんて思わないよね
どうしてdatagridviewだとそのまま突っ込むのか
どうしてdatagridviewだとそのまま突っ込むのか
653デフォルトの名無しさん
2018/09/19(水) 11:04:13.47ID:9VikJa+v Webも最近はページングが廃れてきて遅延読み込みが増えてる
ついに時代がVB厨に追いついた
ついに時代がVB厨に追いついた
654デフォルトの名無しさん
2018/09/19(水) 11:22:39.36ID:Ei/RIVZy それも程度問題
数千件ならそれでいい(というかそうしなかったのはただの技術側の都合であって
ユーザーの利便性を追求してたわけじゃない)けど、件数が千万のオーダーになれば
話は別に決まってるよ
数千件ならそれでいい(というかそうしなかったのはただの技術側の都合であって
ユーザーの利便性を追求してたわけじゃない)けど、件数が千万のオーダーになれば
話は別に決まってるよ
655デフォルトの名無しさん
2018/09/19(水) 13:53:52.66ID:1pViUBUC DataGridViewは面倒でも仮想モードでやらないとデータ増えると加速度的に遅くなる
656デフォルトの名無しさん
2018/09/19(水) 15:20:13.47ID:buYyvBpb 仮想モードってなんだっけ?
単に列追加時は描画止めて、追加終わったら表示するやつ?
単に列追加時は描画止めて、追加終わったら表示するやつ?
657デフォルトの名無しさん
2018/09/19(水) 17:12:21.14ID:ayfJChiE 画面内にいないやつはそもそもUIに載せないやつじゃない?
658デフォルトの名無しさん
2018/09/19(水) 19:06:07.56ID:wQAi5nmu スレが異なるかもしれんけど、SQLの結果を分割して取れなかったっけ?
659デフォルトの名無しさん
2018/09/19(水) 23:52:56.59ID:fl19i0BJ SQLのページングやね
660デフォルトの名無しさん
2018/09/20(木) 03:55:03.13ID:v2140bTt すいませんC#を始めてみようと思うんですが
基礎からしっかり学ぶC#の教科書か独習C# 新版どっち買うか迷ってます
全く0からの学習の場合どちらが適してると思いますか?又これよりいい本があれば是非教えてほしいです
よろしくお願い致します。
基礎からしっかり学ぶC#の教科書か独習C# 新版どっち買うか迷ってます
全く0からの学習の場合どちらが適してると思いますか?又これよりいい本があれば是非教えてほしいです
よろしくお願い致します。
661デフォルトの名無しさん
2018/09/20(木) 03:57:43.51ID:ZeDJ2vHp 他の言語を少しでも知ってたら独習c#やね
662デフォルトの名無しさん
2018/09/20(木) 04:16:44.52ID:v2140bTt >>661
ありがとうございます
スッキリわかるjava入門と苦しんで覚えるC言語を読んだことがある程度です。ロベールのCきつくてクラスのとこ詰んだ状態です
少し知ってたら"に当てはまりそうですか?後C#独習って山田って人が書いた新版とハーバートって人が書いたやつの2つありますが
どちらも一緒ですかね、
ありがとうございます
スッキリわかるjava入門と苦しんで覚えるC言語を読んだことがある程度です。ロベールのCきつくてクラスのとこ詰んだ状態です
少し知ってたら"に当てはまりそうですか?後C#独習って山田って人が書いた新版とハーバートって人が書いたやつの2つありますが
どちらも一緒ですかね、
663デフォルトの名無しさん
2018/09/20(木) 04:21:46.90ID:ZeDJ2vHp664デフォルトの名無しさん
2018/09/20(木) 06:18:13.84ID:v2140bTt >>663
どっちも薄い入門書なので理解があるかはちょっと自信ないですが……大丈夫かなぁ
C#は比較的新しい言語みたいですがそんなに内容に違いあるんですか
分かりました。新しい方取り敢えず買ってみます。ありがとうございます。
どっちも薄い入門書なので理解があるかはちょっと自信ないですが……大丈夫かなぁ
C#は比較的新しい言語みたいですがそんなに内容に違いあるんですか
分かりました。新しい方取り敢えず買ってみます。ありがとうございます。
665デフォルトの名無しさん
2018/09/20(木) 07:16:44.73ID:lp8Y5Sjf >>664
独習を進める。新しい技は使われていないが、これだけ基礎を抑えた本は少ない。逆に独習にあるような基礎を抜かして最新技術だけ学ぶと高確率でコピペプログラマーになる。
独習を進める。新しい技は使われていないが、これだけ基礎を抑えた本は少ない。逆に独習にあるような基礎を抜かして最新技術だけ学ぶと高確率でコピペプログラマーになる。
666デフォルトの名無しさん
2018/09/20(木) 08:28:38.09ID:OZxd0eW0 1. Ruby, Python, JavaScript などの動的言語
2. Java, Kotlin, C# などの静的言語
3. C/C++ などのポインタのある言語
この順番で、勉強する。
例えれば、123 は、小中高大学の順番
君は小学生だから「たのしいRuby 第5版、2016」始めた方がよい。
まず動的言語で、プログラミング・オブジェクト指向を、かなり固めた方がよい
レベル1から、10, 20, 30と進める人は、考え方を自分のものにしていってる。
30から勉強を始めても、進歩しない。
だから、レベル20に落とす。
それでも難しかったら、10に落とす
つまり、伸びる人は、自分のレベルを知っているから、それに勉強のレベルを合わせる。
逆に伸びない人は、自分のレベルに関係なく、C++ などにこだわる
自分を馬鹿だと認めた人の方が、プライドが低いから、
低いレベルから勉強するから、結局は伸びる!
一番ダメな人は、プライド・理想が高くて、方向転換せず、現実的に成果がない人!
この手の人は、どこへ行っても嫌われる。
口では大きい事を言うけど、一定期間で、成果が出せない人
こだわりとかじゃなくて、勉強とは上達する道筋を探すもの!
C++ 一つの勉強時間よりも、動的言語3つを軽くこなせる!
しかも理解力が飛躍的に上がる
これが上達する道筋。勉強のコツ
2. Java, Kotlin, C# などの静的言語
3. C/C++ などのポインタのある言語
この順番で、勉強する。
例えれば、123 は、小中高大学の順番
君は小学生だから「たのしいRuby 第5版、2016」始めた方がよい。
まず動的言語で、プログラミング・オブジェクト指向を、かなり固めた方がよい
レベル1から、10, 20, 30と進める人は、考え方を自分のものにしていってる。
30から勉強を始めても、進歩しない。
だから、レベル20に落とす。
それでも難しかったら、10に落とす
つまり、伸びる人は、自分のレベルを知っているから、それに勉強のレベルを合わせる。
逆に伸びない人は、自分のレベルに関係なく、C++ などにこだわる
自分を馬鹿だと認めた人の方が、プライドが低いから、
低いレベルから勉強するから、結局は伸びる!
一番ダメな人は、プライド・理想が高くて、方向転換せず、現実的に成果がない人!
この手の人は、どこへ行っても嫌われる。
口では大きい事を言うけど、一定期間で、成果が出せない人
こだわりとかじゃなくて、勉強とは上達する道筋を探すもの!
C++ 一つの勉強時間よりも、動的言語3つを軽くこなせる!
しかも理解力が飛躍的に上がる
これが上達する道筋。勉強のコツ
667デフォルトの名無しさん
2018/09/20(木) 09:12:10.06ID:4jxtU7uW 入門ならideががっつりコード補完してくれる静的言語の方がよくない?
668デフォルトの名無しさん
2018/09/20(木) 09:20:26.88ID:5eDdLMhs >>666は書籍の宣伝のために開発されたAIボットだから相手にしちゃダメ
669デフォルトの名無しさん
2018/09/20(木) 09:21:01.85ID:OZxd0eW0 C# は、共変性・反変性とか、概念が難しい
まだ、Ruby のダックタイピングとか、オープンクラスの方がマシ
まだ、Ruby のダックタイピングとか、オープンクラスの方がマシ
670デフォルトの名無しさん
2018/09/20(木) 09:30:56.78ID:SE3y3kP3 ここにもRubyキチガイが
671デフォルトの名無しさん
2018/09/20(木) 09:36:06.18ID:lp8Y5Sjf >>666
C#もポインタ使えるよ
C#もポインタ使えるよ
672デフォルトの名無しさん
2018/09/20(木) 09:41:50.01ID:kFoauySG ガイジに触るなよお前素人か
673デフォルトの名無しさん
2018/09/20(木) 09:51:05.51ID:fnf4DFpj たのしいRubyはもう古いし楽しくない
パーフェクトRubyのほうがマシ
パーフェクトRubyのほうがマシ
674デフォルトの名無しさん
2018/09/20(木) 12:27:04.89ID:lp8Y5Sjf >>672
すんません
すんません
675デフォルトの名無しさん
2018/09/20(木) 15:07:08.67ID:7FqSQ4ZO 次世代言語スレから追い出されてこんなところで自演してたのかアンチ君
Pythonのステマを封じられたぐらいで発狂しすぎだろ
Pythonのステマを封じられたぐらいで発狂しすぎだろ
676デフォルトの名無しさん
2018/09/20(木) 16:29:05.65ID:qiFS9yA6 そのスレ見てないからよくわからんけど他のスレにまできて粘着してるのかよ w
ごちゃんこええ
ごちゃんこええ
677デフォルトの名無しさん
2018/09/20(木) 16:54:21.75ID:D2y+HKaB >>660
C#に入門するだけなら高い本を買わなくてもWeb上の入門記事で十分。
(本には本でどこでも読めるメリットはあるけど、今時のプログラミングの本は
だいたい分厚くてどこでも読みたいサイズじゃない)
プログラミングに入門する言語としてC#が最適かどうかは微妙。
C#は上級者にはとっつきやすいよく出来た言語だけど、何せ覚えることが多過ぎる
C#に入門するだけなら高い本を買わなくてもWeb上の入門記事で十分。
(本には本でどこでも読めるメリットはあるけど、今時のプログラミングの本は
だいたい分厚くてどこでも読みたいサイズじゃない)
プログラミングに入門する言語としてC#が最適かどうかは微妙。
C#は上級者にはとっつきやすいよく出来た言語だけど、何せ覚えることが多過ぎる
678デフォルトの名無しさん
2018/09/20(木) 17:53:22.89ID:KIaLDywn 代案ださんと
679デフォルトの名無しさん
2018/09/20(木) 19:03:15.03ID:fnf4DFpj 図書館でc#の本を借りてこればいい
で良さそうなのがあったら本屋で買う
で良さそうなのがあったら本屋で買う
680デフォルトの名無しさん
2018/09/20(木) 19:26:38.71ID:CgrjUHeB 初めてのC#でいいだろ
681デフォルトの名無しさん
2018/09/20(木) 19:28:26.04ID:iJVr7ybn ハーバート・シルト氏は独習C++でも名高い、これを超える書籍はまだ生まれていない
682デフォルトの名無しさん
2018/09/20(木) 19:34:07.37ID:DBWB48iV683デフォルトの名無しさん
2018/09/20(木) 20:26:13.94ID:rVGxs5dI 独習読むなら3版だよな!
684デフォルトの名無しさん
2018/09/20(木) 20:31:13.21ID:WCWCO/OJ C#でDBプログラミングを勉強するのにおススメの資料を教えて下さい。
接続/切断/クエリ送信などの処理をする際に、鉄板といえる手続きがどんなものなのか分かりません。
接続/切断/クエリ送信などの処理をする際に、鉄板といえる手続きがどんなものなのか分かりません。
685デフォルトの名無しさん
2018/09/20(木) 20:35:41.42ID:WlS4D6o/686デフォルトの名無しさん
2018/09/20(木) 21:31:37.32ID:IHzBiPD0 C#でDB扱うならネットで検索した方が早い
687デフォルトの名無しさん
2018/09/20(木) 21:35:22.37ID:DBWB48iV 嘘つくな絶対普通にDBつこた方が速いわ
688デフォルトの名無しさん
2018/09/20(木) 21:37:16.90ID:gGegNzBj >>687
おまえは何を言っているんだ
おまえは何を言っているんだ
689デフォルトの名無しさん
2018/09/20(木) 21:38:48.49ID:h4Dr8zIJ ワロタ
690デフォルトの名無しさん
2018/09/20(木) 21:52:09.03ID:xtibJYVp efはsql出来ない人が使うものってことですか?
691デフォルトの名無しさん
2018/09/20(木) 22:04:35.37ID:1gZefLOg クラウドのdbにしてもgoogle関連の超速dbには勝てないんだよなぁ
692デフォルトの名無しさん
2018/09/20(木) 22:07:31.56ID:8NN5YAN4 >>684
書籍でいうとまとめて書いてあるのは
10年前のこれくらいしかないが
https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-MS-ADO-NET2-0-%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88%E5%85%AC%E5%BC%8F%E8%A7%A3%E8%AA%AC%E6%9B%B8/dp/4891005491
詳しすぎるので「接続/切断/クエリ送信」くらいなら
ネット検索で十分(基本変わってないので)
使えるならDapper使うのがおすすめ
Entity Frameworkはもうちょっと理解が進んでからかな
書籍でいうとまとめて書いてあるのは
10年前のこれくらいしかないが
https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-MS-ADO-NET2-0-%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88%E5%85%AC%E5%BC%8F%E8%A7%A3%E8%AA%AC%E6%9B%B8/dp/4891005491
詳しすぎるので「接続/切断/クエリ送信」くらいなら
ネット検索で十分(基本変わってないので)
使えるならDapper使うのがおすすめ
Entity Frameworkはもうちょっと理解が進んでからかな
693デフォルトの名無しさん
2018/09/20(木) 23:46:48.16ID:BBvoO4H7694デフォルトの名無しさん
2018/09/21(金) 01:51:23.59ID:e4o674sK ef知ったらもうsql書きたくなくなるぞ
695デフォルトの名無しさん
2018/09/21(金) 05:22:27.48ID:IsynsslI そしてEFが発行するSQLみて手書きしたくなる
696デフォルトの名無しさん
2018/09/21(金) 05:49:36.03ID:ibfXzeqr 速度的にはEFもSQLセルフ発行も同じ?
SQLだと複雑な抽出も出来るし一長一短け?
SQLだと複雑な抽出も出来るし一長一短け?
697デフォルトの名無しさん
2018/09/21(金) 07:30:51.31ID:mrJQQAUt 一長一短
efのSQLが嫌ならそこだけ直接発行にもできるから使い分けられる
efの生産性はぱねぇけどね
efのSQLが嫌ならそこだけ直接発行にもできるから使い分けられる
efの生産性はぱねぇけどね
698デフォルトの名無しさん
2018/09/21(金) 13:30:57.74ID:IsynsslI SQLはサーバ側のオプティマイズがあるから、単純に発行した内容だけでは比べられんが
今のところまだEFよりちゃんとSQLできる人間が書いた方がマシなSQLになる印象
だからって、速度的には全て自分でSQL書けって言うほどひどくはない
簡単な選択程度なら誤差の範囲
普通はEF任せで、問題のあるとこだけ自分でSQLチューニングすれば良い
今のところまだEFよりちゃんとSQLできる人間が書いた方がマシなSQLになる印象
だからって、速度的には全て自分でSQL書けって言うほどひどくはない
簡単な選択程度なら誤差の範囲
普通はEF任せで、問題のあるとこだけ自分でSQLチューニングすれば良い
699デフォルトの名無しさん
2018/09/21(金) 18:05:43.62ID:xQShnEjp EFはオブジェクト指向というかリポジトリパターンを前提にした設計なんだよな
ドメイン側をキッチリ設計して複雑なSQLはそもそも必要ないってとこまで持っていけないとうまくハマらない
ドメイン側をキッチリ設計して複雑なSQLはそもそも必要ないってとこまで持っていけないとうまくハマらない
700デフォルトの名無しさん
2018/09/21(金) 20:36:02.24ID:ibfXzeqr701デフォルトの名無しさん
2018/09/21(金) 20:46:33.71ID:fCjKI+bL すみません質問なんですが
WPFってプログラム部分はC#で
GUI部分がXAMLということらしいですが
ということは
アプリとしてC#でできることはWPFでも当然できて
GUIはC#のフォームアプリより更に柔軟に凝ったことができる
という認識でよいでしょうか?
C#ではできてもWPFでは難しいってことはありますか?
漠然とした質問ですみません
WPFってプログラム部分はC#で
GUI部分がXAMLということらしいですが
ということは
アプリとしてC#でできることはWPFでも当然できて
GUIはC#のフォームアプリより更に柔軟に凝ったことができる
という認識でよいでしょうか?
C#ではできてもWPFでは難しいってことはありますか?
漠然とした質問ですみません
702デフォルトの名無しさん
2018/09/21(金) 20:56:54.12ID:d21LRhSC >>701
WindowsFormとWPFの比較なら例えばWPFにはNumericUpDownコントロールがないとか
とりあえず「wpf windows フォーム 違い」で検索してみては
もしくは具体的にやりたいことがあってどっちにしようかという話なら、やりたいことを書いて質問してもらうほうが早い
WindowsFormとWPFの比較なら例えばWPFにはNumericUpDownコントロールがないとか
とりあえず「wpf windows フォーム 違い」で検索してみては
もしくは具体的にやりたいことがあってどっちにしようかという話なら、やりたいことを書いて質問してもらうほうが早い
703デフォルトの名無しさん
2018/09/21(金) 21:01:41.42ID:YWBdXOYh704デフォルトの名無しさん
2018/09/21(金) 21:18:14.63ID:2cEyH6cz 俺は一つのプログラム内でのモジュールの使い回しは無駄だと確信した
guiなんてアプリごと作り捨てろ
gui以外を使いまわすなら検討の余地はある
guiなんてアプリごと作り捨てろ
gui以外を使いまわすなら検討の余地はある
705デフォルトの名無しさん
2018/09/21(金) 21:30:13.81ID:MqKbhYRD その前におまえが初心者やと確信してほしかったわ
ええんやけどね別に
ええんやけどね別に
706デフォルトの名無しさん
2018/09/21(金) 21:57:18.69ID:qgyq16h9 >>701
WPFの基本の部分はc++あたりで作ったDLL
WPFの基本の部分はc++あたりで作ったDLL
707デフォルトの名無しさん
2018/09/21(金) 22:19:46.65ID:buJTAf7s >>703
嘘は良くない
嘘は良くない
708デフォルトの名無しさん
2018/09/21(金) 22:22:15.09ID:Q76cyRJI クラス内の static メンバ変数の名称と値をすべて取得する方法はありますか?
public な変数ならリフレクションを使うと取れるのだけど、
クラスの中から実行するのでもよいので private や protected な変数もやってみたい。
ただ気になっただけなので、理由は問わないでください。
public な変数ならリフレクションを使うと取れるのだけど、
クラスの中から実行するのでもよいので private や protected な変数もやってみたい。
ただ気になっただけなので、理由は問わないでください。
709デフォルトの名無しさん
2018/09/21(金) 22:40:23.53ID:d21LRhSC710デフォルトの名無しさん
2018/09/21(金) 23:54:35.98ID:OrlkLn9C711デフォルトの名無しさん
2018/09/22(土) 00:04:18.82ID:RA1YahyE 2年ぐらい前だったと思うけど、WPFに事実上の死亡宣告が出たってちょっと話題になったことがあったね
もっとも5年前の時点ですでにこんな記事が書かれてる
https://www.infoq.com/jp/articles/Win8-LOB-Options
もっとも5年前の時点ですでにこんな記事が書かれてる
https://www.infoq.com/jp/articles/Win8-LOB-Options
712デフォルトの名無しさん
2018/09/22(土) 00:04:20.13ID:VyQ6q8Hr >>710
あれ、使ってないんじゃなかったのかい?
あれ、使ってないんじゃなかったのかい?
713デフォルトの名無しさん
2018/09/22(土) 00:11:06.31ID:/LVptLz+ ただ単に客からの発注が無いだけであって
自作・社内ツールではかなり役に立つよ
自作・社内ツールではかなり役に立つよ
714デフォルトの名無しさん
2018/09/22(土) 00:11:11.20ID:ZjQBvuSg715デフォルトの名無しさん
2018/09/22(土) 00:18:36.91ID:RA1YahyE716デフォルトの名無しさん
2018/09/22(土) 00:22:45.51ID:lvi4DOp5 WPF死んでUWPも上手くいってないけど次の手がうまく打ててない
昔はCEOが技術を重視してトップダウンでいろんなものが決まったけど今は上が無能で
windowsに興味がないから放置されてる
win10モバイルが死んだ今モバイル向けAPIの開発も滞るだろうしどこにむかってんのかね
昔はCEOが技術を重視してトップダウンでいろんなものが決まったけど今は上が無能で
windowsに興味がないから放置されてる
win10モバイルが死んだ今モバイル向けAPIの開発も滞るだろうしどこにむかってんのかね
717デフォルトの名無しさん
2018/09/22(土) 00:28:42.18ID:QAw1ia2N718デフォルトの名無しさん
2018/09/22(土) 00:28:50.97ID:Ov13Y0lw719デフォルトの名無しさん
2018/09/22(土) 00:29:25.07ID:Ov13Y0lw 訂正:代替となっていない
720デフォルトの名無しさん
2018/09/22(土) 00:39:15.23ID:cNCOPpWD デスクトップアプリは衰退する一方だからMSにとって投資する価値はない
この期に及んでいまだにWinデスクトップアプリに固執してるような連中が、
自分達が最近のMSに軽視されているからといってMacやChromebookに乗り換えるだろうか?
どう考えてもあり得ないだろ
唯一競合と言えるのはElectronくらいだけど、そこはMSの手ががっつり入って既にWindowsとの相性は完璧だ
今後の新規投資はAzureに全力投球だよ
この期に及んでいまだにWinデスクトップアプリに固執してるような連中が、
自分達が最近のMSに軽視されているからといってMacやChromebookに乗り換えるだろうか?
どう考えてもあり得ないだろ
唯一競合と言えるのはElectronくらいだけど、そこはMSの手ががっつり入って既にWindowsとの相性は完璧だ
今後の新規投資はAzureに全力投球だよ
721デフォルトの名無しさん
2018/09/22(土) 00:42:43.93ID:lvi4DOp5 Azureが全盛になったとしてもMSの技術者はどんどんやめていくだろう
優秀で新しい技術にかかわりたい人は我先にやめていく
優秀で新しい技術にかかわりたい人は我先にやめていく
722デフォルトの名無しさん
2018/09/22(土) 00:44:05.19ID:9fGOEyZF またアンチMSの希望的観測が始まった
723デフォルトの名無しさん
2018/09/22(土) 00:46:02.51ID:QAw1ia2N724デフォルトの名無しさん
2018/09/22(土) 00:47:36.81ID:lvi4DOp5 世界中の優秀な技術者が水道公社やガス会社に勤めたいとは思わないだろう
そこがビルゲイツの始めた双六の上がりだったらまあ本当に魅力のない話だ
最低最悪のゴール
そこがビルゲイツの始めた双六の上がりだったらまあ本当に魅力のない話だ
最低最悪のゴール
725デフォルトの名無しさん
2018/09/22(土) 00:48:29.31ID:afLe3oes 新しい金の搾取方法が必要なんだよね
windows自体は95でほとんど完成していたな
windows自体は95でほとんど完成していたな
726デフォルトの名無しさん
2018/09/22(土) 00:50:37.03ID:RA1YahyE アンチっていうより「俺スゲー」の一種だねw
俺スゲー⇒俺がやってることスゲー
「俺スゲー」は劣等感の裏返しなのでそれは必ず何かに対する否定を伴う
まあ、こういう人に関しては川俣大先生の言う通り。
付け加えるとこれ、2chに多い「ネットde真実」の同類だと思って間違いないと思う
俺スゲー⇒俺がやってることスゲー
「俺スゲー」は劣等感の裏返しなのでそれは必ず何かに対する否定を伴う
まあ、こういう人に関しては川俣大先生の言う通り。
付け加えるとこれ、2chに多い「ネットde真実」の同類だと思って間違いないと思う
727デフォルトの名無しさん
2018/09/22(土) 00:59:07.10ID:lvi4DOp5 ビルゲイツが語っていた未来がAzureというインフラ屋(水道屋、ガス屋、電力会社)を作るという話なら
多くの夢を持った技術者は集まらなかった
インフラ屋は最低限の教育水準があって賃金の安い国に移るだけだ
未来も最新技術も糞もない
多くの夢を持った技術者は集まらなかった
インフラ屋は最低限の教育水準があって賃金の安い国に移るだけだ
未来も最新技術も糞もない
728デフォルトの名無しさん
2018/09/22(土) 01:00:21.74ID:mc091pM3 >>724
MSが土管屋になろうとしているのかというと明らかにNoだろうけど、
Amazon、MS、Googleのクラウドベンダートップ3の中ではMSが最も「単なる土管屋」に近いのは確かだね
AzureはWindowsサーバーのホスティングサービス以上の何者でもなく、それ以外の部分ははっきり言ってゴミ&クソ&カスである
MSが土管屋になろうとしているのかというと明らかにNoだろうけど、
Amazon、MS、Googleのクラウドベンダートップ3の中ではMSが最も「単なる土管屋」に近いのは確かだね
AzureはWindowsサーバーのホスティングサービス以上の何者でもなく、それ以外の部分ははっきり言ってゴミ&クソ&カスである
729デフォルトの名無しさん
2018/09/22(土) 01:02:09.49ID:gpkx9mPg ゲイツはいま医療技術に夢中だ。
おまえらも人の役に立つことやれよな!
おまえらも人の役に立つことやれよな!
730デフォルトの名無しさん
2018/09/22(土) 01:03:01.96ID:Ov13Y0lw おまえもな
731デフォルトの名無しさん
2018/09/22(土) 02:22:07.77ID:MAFBmZ+e ヒカキンの年収が10億超え!?明石家さんま・坂上忍も驚愕の総資産とは??
https://logtube.jp/variety/28439
HIKAKIN(ヒカキン)の年収が14億円!?トップYouTuberになるまでの道のりは?
https://youtuberhyouron.com/hikakinnensyu/
なぜか観てしまう!!サバイバル系youtuberまとめ
http://tokyohitori.hatenablog.com/entry/2016/10/01/102830
あのPewDiePieがついに、初心YouTuber向けに「視聴回数」「チャンネル登録者数」を増やすコツを公開!
http://naototube.com/2017/08/14/for-new-youtubers/
27歳で年収8億円 女性ユーチューバー「リリー・シン」の生き方
https://headlines.yahoo.co.jp/article?a=20170802-00017174-forbes-bus_all
1年で何十億円も稼ぐ高収入ユーチューバー世界ランキングトップ10
https://gigazine.net/news/20151016-highest-paid-youtuber-2015/
おもちゃのレビューで年間12億円! 今、話題のYouTuberは6歳の男の子
https://www.businessinsider.jp/post-108355
彼女はいかにして750万人のファンがいるYouTubeスターとなったのか?
https://www.businessinsider.jp/post-242
1億円稼ぐ9歳のYouTuberがすごすぎる……アメリカで話題のEvanTubeHD
https://weekly.ascii.jp/elem/000/000/305/305548/
専業YouTuberがYouTubeでの稼ぎ方具体的に教えます。ネタ切れしない方法は〇〇するだけ。
https://www.youtube.com/watch?v=Co9a9fHfReo
YouTubeで稼げるジャンルは〇〇動画です。YouTube講座
https://www.youtube.com/watch?v=_Nps8xb5czQ
https://logtube.jp/variety/28439
HIKAKIN(ヒカキン)の年収が14億円!?トップYouTuberになるまでの道のりは?
https://youtuberhyouron.com/hikakinnensyu/
なぜか観てしまう!!サバイバル系youtuberまとめ
http://tokyohitori.hatenablog.com/entry/2016/10/01/102830
あのPewDiePieがついに、初心YouTuber向けに「視聴回数」「チャンネル登録者数」を増やすコツを公開!
http://naototube.com/2017/08/14/for-new-youtubers/
27歳で年収8億円 女性ユーチューバー「リリー・シン」の生き方
https://headlines.yahoo.co.jp/article?a=20170802-00017174-forbes-bus_all
1年で何十億円も稼ぐ高収入ユーチューバー世界ランキングトップ10
https://gigazine.net/news/20151016-highest-paid-youtuber-2015/
おもちゃのレビューで年間12億円! 今、話題のYouTuberは6歳の男の子
https://www.businessinsider.jp/post-108355
彼女はいかにして750万人のファンがいるYouTubeスターとなったのか?
https://www.businessinsider.jp/post-242
1億円稼ぐ9歳のYouTuberがすごすぎる……アメリカで話題のEvanTubeHD
https://weekly.ascii.jp/elem/000/000/305/305548/
専業YouTuberがYouTubeでの稼ぎ方具体的に教えます。ネタ切れしない方法は〇〇するだけ。
https://www.youtube.com/watch?v=Co9a9fHfReo
YouTubeで稼げるジャンルは〇〇動画です。YouTube講座
https://www.youtube.com/watch?v=_Nps8xb5czQ
732デフォルトの名無しさん
2018/09/22(土) 15:23:45.12ID:VPVsRefo なんでMSは莫大なリソースあるのにまともなwindows用のデスクトップMVCフレームワーク作らんの?
733デフォルトの名無しさん
2018/09/22(土) 15:33:12.40ID:BD/9qPVn 金にならないから
今のMSの金蔓はOfficeとAzure
今のMSの金蔓はOfficeとAzure
734デフォルトの名無しさん
2018/09/22(土) 16:52:49.31ID:KZSla2NN >>732
MVVMならあるでしょ
MVVMならあるでしょ
735デフォルトの名無しさん
2018/09/22(土) 18:09:02.28ID:ZTe9HnQE tabControlのページをクリック以外の方法で切り替えることはできますか?
変数を立ててswitch文でプロパティ替えればできると思ってたけど
tabpageプロパティは読み取り専用で設定できないのね
変数を立ててswitch文でプロパティ替えればできると思ってたけど
tabpageプロパティは読み取り専用で設定できないのね
736デフォルトの名無しさん
2018/09/22(土) 18:12:36.64ID:sUJsyE8y WinFormの話ならSelectedIndexで変更する
737デフォルトの名無しさん
2018/09/22(土) 18:42:13.59ID:ZTe9HnQE738デフォルトの名無しさん
2018/09/22(土) 18:43:46.71ID:Anxq9bjC739デフォルトの名無しさん
2018/09/22(土) 19:01:14.84ID:kFAOP0FY MVCでググって出てくる
https://nekogata.hatenablog.com/entry/2013/11/11/075234
https://qiita.com/tshinsay/items/5b1724baf32b8b5113c2
この辺読んでもMVCの利点も必要性もさっぱり分からん、というのが正直な感想
https://nekogata.hatenablog.com/entry/2013/11/11/075234
https://qiita.com/tshinsay/items/5b1724baf32b8b5113c2
この辺読んでもMVCの利点も必要性もさっぱり分からん、というのが正直な感想
740デフォルトの名無しさん
2018/09/22(土) 19:08:01.99ID:yVyqSbVQ741デフォルトの名無しさん
2018/09/22(土) 19:29:21.32ID:T1K71jdo ならんわw
742デフォルトの名無しさん
2018/09/22(土) 19:35:14.05ID:7nPJqZuh なるわw
743デフォルトの名無しさん
2018/09/22(土) 19:42:15.62ID:kFAOP0FY undo、redoって普通にモデルの仕事でしょうw
モデルのクラスのコードをいじれない、とかの事情で別のクラスを使って機能を拡張するとしても、
それをコントローラと呼ぶのは違うんじゃないの?
モデルのクラスのコードをいじれない、とかの事情で別のクラスを使って機能を拡張するとしても、
それをコントローラと呼ぶのは違うんじゃないの?
744デフォルトの名無しさん
2018/09/22(土) 19:49:11.04ID:dBgPOLrx >>739
WebMVCじゃない本来のMVCにおけるCって、昔のSmallTalkのGUIフレームワークではWndProcみたいなことをする役割を担う層が必要で、それをコントローラと呼んでただけ
特定のフレームワークの技術的な制約のために必要だったもので、イベントハンドラでイベントを直接メソッドにディスパッチできるC#においては全く必要ないよ
WebMVCじゃない本来のMVCにおけるCって、昔のSmallTalkのGUIフレームワークではWndProcみたいなことをする役割を担う層が必要で、それをコントローラと呼んでただけ
特定のフレームワークの技術的な制約のために必要だったもので、イベントハンドラでイベントを直接メソッドにディスパッチできるC#においては全く必要ないよ
745デフォルトの名無しさん
2018/09/22(土) 20:08:09.03ID:/LVptLz+ class MyForm : IMyView {
private ISomeService ss;
public MyForm(ISomeService ss) {
this.ss = ss;
}
private async void OnXxx(...) {
var p = GetSsParam();
var r = await ss.ExecAsync(p);
HandleSsResult(r);
}
もしかしてssのことをコントローラーと言いたいのではないか?
private ISomeService ss;
public MyForm(ISomeService ss) {
this.ss = ss;
}
private async void OnXxx(...) {
var p = GetSsParam();
var r = await ss.ExecAsync(p);
HandleSsResult(r);
}
もしかしてssのことをコントローラーと言いたいのではないか?
746デフォルトの名無しさん
2018/09/22(土) 20:27:21.25ID:A7i/kFyi747デフォルトの名無しさん
2018/09/22(土) 21:53:59.90ID:BD/9qPVn ジャパニーズドカタはテスト書かないから分からないよw
748デフォルトの名無しさん
2018/09/22(土) 22:03:55.13ID:T1K71jdo 初心者がゆうなw
749デフォルトの名無しさん
2018/09/22(土) 22:42:44.85ID:Dlzi4J2e つーか、画面は作り捨て上等
一昔前に流行った画面構成なんて臭くって使えない
一昔前に流行った画面構成なんて臭くって使えない
750デフォルトの名無しさん
2018/09/22(土) 22:47:11.36ID:RLMh0rIO テストとかまじ手間とるだけの時間稼ぎでしかない
751デフォルトの名無しさん
2018/09/23(日) 00:24:52.61ID:cRG95Xcq 歴史あるmfcのウンコドキュメントビューアーキテクチャと
なにが違うの?
なにが違うの?
752デフォルトの名無しさん
2018/09/23(日) 00:34:17.81ID:y+eZw7HP そもそもこれでもかってぐらいこびりついてるのになぜ切り離そうとするのか?
画面アプリとサーバー側で分けて画面アプリは作り直せよ
画面アプリとサーバー側で分けて画面アプリは作り直せよ
753デフォルトの名無しさん
2018/09/23(日) 00:39:38.45ID:sUwtRH+p 初心者なんだから難しいこと考えるなよバカどもw
754デフォルトの名無しさん
2018/09/23(日) 00:47:36.99ID:cRG95Xcq 一時期strutsとかいうインチキくさいフレームワークがほんのりはやったが
いまはもう見る影もない
いまはもう見る影もない
755デフォルトの名無しさん
2018/09/23(日) 01:21:59.82ID:TQN/0jmK どこの記事だか忘れたけどMVCに関して昔読んだので一つだけ説得力を感じたのは、
古いタイプのインストーラーみたいにウィザード形式のUIの画面遷移のためにはCが必要って内容
そこは確かに一理あると思った
ウィザード形式なんてそうそうあるUIとも思えんが
古いタイプのインストーラーみたいにウィザード形式のUIの画面遷移のためにはCが必要って内容
そこは確かに一理あると思った
ウィザード形式なんてそうそうあるUIとも思えんが
756デフォルトの名無しさん
2018/09/23(日) 01:33:34.95ID:0vXeudiz いらんわw
757デフォルトの名無しさん
2018/09/23(日) 02:07:34.36ID:jzOYIT9S MVVMは慣れてきたらものすごく開発が楽だけどな
758デフォルトの名無しさん
2018/09/23(日) 02:35:37.21ID:taBrfSf/ >>757
それも「行きはよいよい帰りは怖い」だけどね
書いてる時はいいんだよ。
問題は後で見た時に、あるいは他人のコード見た時に
何やってるのか理解するのに無茶苦茶時間が掛かること
支持する奴の気がしれん
それも「行きはよいよい帰りは怖い」だけどね
書いてる時はいいんだよ。
問題は後で見た時に、あるいは他人のコード見た時に
何やってるのか理解するのに無茶苦茶時間が掛かること
支持する奴の気がしれん
759デフォルトの名無しさん
2018/09/23(日) 02:46:47.55ID:Dc9ARAgR MVCは近代的な開発環境を使っていれば自然と守られるから学習する必要ないよ
CにMを書いちゃうとか変なことをしない限り大丈夫だよ
対するMVVMは難しいね、かなり練習しないとただ3層に分けただけの偽MVVMになってしまう
CにMを書いちゃうとか変なことをしない限り大丈夫だよ
対するMVVMは難しいね、かなり練習しないとただ3層に分けただけの偽MVVMになってしまう
760デフォルトの名無しさん
2018/09/23(日) 04:46:55.14ID:cjexH34A >>755
「司令」とかはデフォだよ
「司令」とかはデフォだよ
761デフォルトの名無しさん
2018/09/23(日) 07:17:03.92ID:J2MRrpUo C#とあわせてDB勉強するならどれがいいですか?
やっぱり同じMS製のSQL Serverですか?
やっぱり同じMS製のSQL Serverですか?
762デフォルトの名無しさん
2018/09/23(日) 08:01:38.54ID:dcxIZpfd763デフォルトの名無しさん
2018/09/23(日) 08:45:18.24ID:9e4CRvDY >>758
実際にはめちゃくちゃわかりやすいけどな
実際にはめちゃくちゃわかりやすいけどな
764デフォルトの名無しさん
2018/09/23(日) 09:48:29.79ID:y+eZw7HP >>763
お前が資料に嘘書くから無理
お前が資料に嘘書くから無理
765デフォルトの名無しさん
2018/09/23(日) 12:43:01.55ID:/KN8+x6x766デフォルトの名無しさん
2018/09/23(日) 12:47:19.91ID:pXi93aAm フォームベタ書きが一番
767デフォルトの名無しさん
2018/09/23(日) 13:03:56.91ID:w4aHsEmW MVVM否定する奴とかネタだよな
768デフォルトの名無しさん
2018/09/23(日) 13:17:56.73ID:4UDG5/fM フォームクラスに全てを書く。これ最強。
769デフォルトの名無しさん
2018/09/23(日) 14:07:53.59ID:jYUPCkq4 mvvmは状態がわからないと言うか再現できないことが多くて
従来型のmvvmはwebのあたりでは捨てられ始めてる
従来型のmvvmはwebのあたりでは捨てられ始めてる
770デフォルトの名無しさん
2018/09/23(日) 14:09:21.60ID:y+eZw7HP >>767
逆に明確なメリットが無いよね?
逆に明確なメリットが無いよね?
771デフォルトの名無しさん
2018/09/23(日) 14:10:05.59ID:MTMF1/K8 DIコンテナ使い出すとwpf+mvvmから抜け出せなくなるな
もしかするとDIコンテナ知らずにmvvm批判しているんだろうか?
もしかするとDIコンテナ知らずにmvvm批判しているんだろうか?
772デフォルトの名無しさん
2018/09/23(日) 14:18:11.03ID:9e4CRvDY >>769
再現ってVMのプロパティセットするだけだが?
再現ってVMのプロパティセットするだけだが?
773デフォルトの名無しさん
2018/09/23(日) 14:20:21.01ID:jYUPCkq4 React & Fluxを使いだすとmvvmはもう戻れないと言ってるやつと同じレベルだな
774デフォルトの名無しさん
2018/09/23(日) 14:21:04.98ID:jYUPCkq4 >>772
そこがお前の限界
そこがお前の限界
775デフォルトの名無しさん
2018/09/23(日) 14:21:15.43ID:9e4CRvDY776デフォルトの名無しさん
2018/09/23(日) 14:21:33.58ID:9e4CRvDY >>774
ブーメラン
ブーメラン
777デフォルトの名無しさん
2018/09/23(日) 14:23:04.60ID:jYUPCkq4 アジャイルを知ったらもう他にはもどれない
TDDじゃない開発はIT土方だ
などとくだらないことをいうバカ信者は死ねばいい
TDDじゃない開発はIT土方だ
などとくだらないことをいうバカ信者は死ねばいい
778デフォルトの名無しさん
2018/09/23(日) 14:26:57.57ID:jYUPCkq4 FBは一時期mvvmに傾倒してたけど大規模になってくるとなぜだか思ったように動かないことが多くなって
mvvm自体に弱点があることに気付いた
そしてmvvmを捨てることにした
中小規模ならmvvmはまだ使えるが大規模になると使えない
状態を追いきれない
mvvm自体に弱点があることに気付いた
そしてmvvmを捨てることにした
中小規模ならmvvmはまだ使えるが大規模になると使えない
状態を追いきれない
779デフォルトの名無しさん
2018/09/23(日) 14:31:36.73ID:jYUPCkq4 FBによるとmvvmでは大規模になると値が変わった場合どこでどうしたからその値が変わったのか説明できない
元をたどれないことが多くてバグをつぶしたと思ったら同じバグがまた出ることに悩まされていた
簡単にどこででも状態をいじれることが間違っていたと判断した
元をたどれないことが多くてバグをつぶしたと思ったら同じバグがまた出ることに悩まされていた
簡単にどこででも状態をいじれることが間違っていたと判断した
780デフォルトの名無しさん
2018/09/23(日) 14:38:33.91ID:q1Vd+N6m 真っ赤なスレ違い
781デフォルトの名無しさん
2018/09/23(日) 15:30:30.23ID:8zSZzIZI MVVMってV-VM-Mなの?
782デフォルトの名無しさん
2018/09/23(日) 16:33:57.42ID:qwzkV0Ze MVCを知りたいという初心者に
MVVMの有能さを洗脳するスレなのか
MVVMの有能さを洗脳するスレなのか
783デフォルトの名無しさん
2018/09/23(日) 16:45:09.37ID:sUwtRH+p デザパタ語りたがり初心者が湧いてるのか
ママにでも教えてやれ
ママにでも教えてやれ
784デフォルトの名無しさん
2018/09/23(日) 16:53:04.68ID:9e4CRvDY ViewをViewModelの影に徹させて管理すべき状態数を明確化、最小化しようってアイデアがMVVMの基本
なのでその明確化、最小化された状態数すら追いきれないというならMVVMをやめた途端に余計に追いきれなくなるだけだ
なのでその明確化、最小化された状態数すら追いきれないというならMVVMをやめた途端に余計に追いきれなくなるだけだ
785デフォルトの名無しさん
2018/09/23(日) 17:03:54.35ID:jYUPCkq4 それがお前の限界だよ
786デフォルトの名無しさん
2018/09/23(日) 17:45:23.67ID:iWYV1BwG ID:9e4CRvDY
ID:jYUPCkq4
恥ずかしいやつら
ID:jYUPCkq4
恥ずかしいやつら
787デフォルトの名無しさん
2018/09/23(日) 18:12:28.13ID:rcV006B3 >>761
MSに生涯の忠誠を誓うんならSQL Serverでいいけど、そうでないならPostgresかMySQLがいいよ
SQL Serverって癖が強くて性能も低くてVSやWinとの相性を除けば正直ク○
MSに生涯の忠誠を誓うんならSQL Serverでいいけど、そうでないならPostgresかMySQLがいいよ
SQL Serverって癖が強くて性能も低くてVSやWinとの相性を除けば正直ク○
788デフォルトの名無しさん
2018/09/23(日) 18:15:05.38ID:JZ2tjL8B >>786
ガイジを列挙するな
ガイジを列挙するな
789デフォルトの名無しさん
2018/09/23(日) 18:58:36.13ID:z3WNOmb5 >>783
デザパタじゃないからw
デザパタじゃないからw
790デフォルトの名無しさん
2018/09/23(日) 19:02:57.05ID:qwzkV0Ze 元質問は739じゃ無いのか?
791デフォルトの名無しさん
2018/09/23(日) 19:24:28.10ID:JZ2tjL8B 人間初心者スレとはたまげたな
792デフォルトの名無しさん
2018/09/23(日) 19:31:52.04ID:cRG95Xcq いま、SQLiteのテーブルを編集するおもちゃを
CLRのwindowsフォームでC#でなく、あえてC++で作って遊んでみてる
書いてることはC#と当然ほぼ同じになる
SQLiteをODBC経由でアクセスするだけで
DataGridViewで簡単にDBの編集ができることが分かった
ただし、MSが提供してるコンポーネントを適切に使用する必要がある
DataAdapterでDataSetとって
DataSetからDataTableとって、そのDataTableをDataGridViewのDataSourceに設定する
※ どうやらSQLiteでは1つのテーブルのデータセットしかとれない模様
※ DataSetという意味ではこのDataSetは超無意味
で、DBの種類とか関係なく
C#で用意されてるコンポーネント経由でデータがとれるようにしないと
作るのが極端にめんどい
なにがいいたいかといえば
C#のおもちゃ部品使ってるくせに
MSがどうこういってることが的外れ
C#とMSのコンポーネント使ってる時点で、
どっぷりMSに浸かってる
CLRのwindowsフォームでC#でなく、あえてC++で作って遊んでみてる
書いてることはC#と当然ほぼ同じになる
SQLiteをODBC経由でアクセスするだけで
DataGridViewで簡単にDBの編集ができることが分かった
ただし、MSが提供してるコンポーネントを適切に使用する必要がある
DataAdapterでDataSetとって
DataSetからDataTableとって、そのDataTableをDataGridViewのDataSourceに設定する
※ どうやらSQLiteでは1つのテーブルのデータセットしかとれない模様
※ DataSetという意味ではこのDataSetは超無意味
で、DBの種類とか関係なく
C#で用意されてるコンポーネント経由でデータがとれるようにしないと
作るのが極端にめんどい
なにがいいたいかといえば
C#のおもちゃ部品使ってるくせに
MSがどうこういってることが的外れ
C#とMSのコンポーネント使ってる時点で、
どっぷりMSに浸かってる
793デフォルトの名無しさん
2018/09/23(日) 19:46:25.43ID:qwzkV0Ze >>791
平伏せよ
平伏せよ
794デフォルトの名無しさん
2018/09/23(日) 20:18:59.85ID:kzypxn8Z795デフォルトの名無しさん
2018/09/23(日) 20:29:06.67ID:eq3kKmf9 MVVMを現実のものに例えるとどうなりますか?
796デフォルトの名無しさん
2018/09/23(日) 20:54:23.90ID:z3WNOmb5 ないね
何でもそうだけどあるがまま理解するのが結局早い
たとえ話は理解の助けにならん
あえて言えばVMがMをVの都合に合わせる装置として機能する、って考えればトランスとか
でもトランスは一方通行だし、そもそもトランスが何か分かる奴も少ないよなw
何でもそうだけどあるがまま理解するのが結局早い
たとえ話は理解の助けにならん
あえて言えばVMがMをVの都合に合わせる装置として機能する、って考えればトランスとか
でもトランスは一方通行だし、そもそもトランスが何か分かる奴も少ないよなw
797デフォルトの名無しさん
2018/09/23(日) 20:55:30.10ID:z3WNOmb5 でも理解しなくていいと思うw
全然普及してないし、私見だけどMVVMなんて複雑な問題をより複雑な別の問題に置き換えるだけw
全然普及してないし、私見だけどMVVMなんて複雑な問題をより複雑な別の問題に置き換えるだけw
798デフォルトの名無しさん
2018/09/23(日) 21:22:07.50ID:H5quPExp 話し変わるけどちょっと聞きたいのだが
コミット前に全ソースコードをバッチ処理でフォーマットしたいのだが良いツール知らん?
Visual Studioでフォーマットできるけど、修正したいファイルを1こ1こ開いてフォーマットを実行しなきゃならんから、ちょっとしんどい
Visual Studioに依存せずにコマンドラインから使えることが必須条件
コミット前に全ソースコードをバッチ処理でフォーマットしたいのだが良いツール知らん?
Visual Studioでフォーマットできるけど、修正したいファイルを1こ1こ開いてフォーマットを実行しなきゃならんから、ちょっとしんどい
Visual Studioに依存せずにコマンドラインから使えることが必須条件
799デフォルトの名無しさん
2018/09/23(日) 21:40:31.39ID:cRG95Xcq MVVMとかぜんぜん知らんが
DBMSでいえば、
ModelがテーブルでViewModelがビューテーブル程度のしょうもないもんにしか
パッと見た感じで、見えんかったわ
で、Viewがビューテーブルをひたすら参照
DBMSでいえば、
ModelがテーブルでViewModelがビューテーブル程度のしょうもないもんにしか
パッと見た感じで、見えんかったわ
で、Viewがビューテーブルをひたすら参照
800デフォルトの名無しさん
2018/09/23(日) 21:47:30.18ID:qG17FGT6 >>799
全然あってなくて困るレベル
全然あってなくて困るレベル
801デフォルトの名無しさん
2018/09/23(日) 21:52:07.09ID:qG17FGT6802デフォルトの名無しさん
2018/09/23(日) 21:56:27.70ID:cRG95Xcq そうかそれは残念だ
ViewModelのbindなんかすでに決まった手続きのパラメータマッピングしてるだけのように
しかみえないしな
この部分はDBMSでいえばプリペアドステートメントに
パラメータをバインドする操作と似ているとは思った
ViewModelのbindなんかすでに決まった手続きのパラメータマッピングしてるだけのように
しかみえないしな
この部分はDBMSでいえばプリペアドステートメントに
パラメータをバインドする操作と似ているとは思った
803デフォルトの名無しさん
2018/09/23(日) 21:59:51.53ID:gaT7ABZW >>801
今ここでおしえて
今ここでおしえて
804デフォルトの名無しさん
2018/09/23(日) 22:08:25.29ID:cRG95Xcq MVC
View ←(Update)← Controller ←(Notify)← Model
View →(User action)→ Controller →(Update)→ Model
カサカサ
三 三 /\彡⌒ ミ/\
三 三 /\(´・ω・`)/\
View ← ViewModel ←(Notify)← Model
View →(Bind)→ ViewModel →(Update)→ Model
ViewModel から View に一切作用しようとしない
ViewはViewModelにインターフェースの提供のみ
大雑把には
ModelのデータをViewが参照できるデータになるように
ViewModelがマッピングや加工して取ったり設定したりするインターフェースを
Viewに提供してるだけのようにしかオレには見えんかったわ
マジで
View ←(Update)← Controller ←(Notify)← Model
View →(User action)→ Controller →(Update)→ Model
カサカサ
三 三 /\彡⌒ ミ/\
三 三 /\(´・ω・`)/\
View ← ViewModel ←(Notify)← Model
View →(Bind)→ ViewModel →(Update)→ Model
ViewModel から View に一切作用しようとしない
ViewはViewModelにインターフェースの提供のみ
大雑把には
ModelのデータをViewが参照できるデータになるように
ViewModelがマッピングや加工して取ったり設定したりするインターフェースを
Viewに提供してるだけのようにしかオレには見えんかったわ
マジで
805デフォルトの名無しさん
2018/09/23(日) 22:15:42.60ID:bzyPZ4ls >>798
整形できるツールはVisualstudioかVSCodeくらいしかないんだろう?
UWSCのような自動化ツール使うこと考えるのが一番早いんじゃないの
これ以上はVisualStudioかVSCodeのスレで聞いた方がいいかと
整形できるツールはVisualstudioかVSCodeくらいしかないんだろう?
UWSCのような自動化ツール使うこと考えるのが一番早いんじゃないの
これ以上はVisualStudioかVSCodeのスレで聞いた方がいいかと
806デフォルトの名無しさん
2018/09/23(日) 22:17:55.81ID:H5quPExp807デフォルトの名無しさん
2018/09/23(日) 22:36:00.38ID:cRG95Xcq CLRのオブジェクトにPropertyGridというのがあるが
いま丁度それでDBMSの値を更新するおもちゃ作ろうとしてる
なんとなくコレに似てるのかなあとは思う
設定取得のプロパティーインターフェースをもったインスタンスを渡すだけで
そのインスタンスのインターフェース使って
プロパティー設定の画面インターフェースがPropertyGridに勝手にできあがってしまう
すげえと思ったが、なんとなくうさんくさい
どういう仕組みになってるのかはぜんぜん分からないが
そのデータの設定取得の仕方は実装する側でなんとでもできるのは分かる
いま丁度それでDBMSの値を更新するおもちゃ作ろうとしてる
なんとなくコレに似てるのかなあとは思う
設定取得のプロパティーインターフェースをもったインスタンスを渡すだけで
そのインスタンスのインターフェース使って
プロパティー設定の画面インターフェースがPropertyGridに勝手にできあがってしまう
すげえと思ったが、なんとなくうさんくさい
どういう仕組みになってるのかはぜんぜん分からないが
そのデータの設定取得の仕方は実装する側でなんとでもできるのは分かる
808デフォルトの名無しさん
2018/09/23(日) 23:00:05.22ID:5OkVsLkb809デフォルトの名無しさん
2018/09/23(日) 23:21:53.73ID:cRG95Xcq きっとなちょろっと試しに検索したら↓コレが一発であったとしか考えられない
https://github.com/dotnet/codeformatter
ホントな質問するヤツも回答するヤツも無能揃いといっていい
回答するヤツもググレカスとすらいわないからな
回答するヤツも最初から回答できるレベルじゃない
むしろ回答しないほうがマシなレベルといっていい
https://github.com/dotnet/codeformatter
ホントな質問するヤツも回答するヤツも無能揃いといっていい
回答するヤツもググレカスとすらいわないからな
回答するヤツも最初から回答できるレベルじゃない
むしろ回答しないほうがマシなレベルといっていい
810デフォルトの名無しさん
2018/09/24(月) 00:01:35.94ID:OxVBaH7R811デフォルトの名無しさん
2018/09/24(月) 09:28:32.62ID:yFnU/yKn リファクタリングってやってる?
いつも気付くと似たような処理や非効率な処理が増えてて辛い……
凄腕のマなら最初から効率的なコード書けるんだろうけどさ……
いつも気付くと似たような処理や非効率な処理が増えてて辛い……
凄腕のマなら最初から効率的なコード書けるんだろうけどさ……
812デフォルトの名無しさん
2018/09/24(月) 09:35:05.11ID:/23hZmm4 動いているコードに手をつけるリファクタリングは最悪。
813デフォルトの名無しさん
2018/09/24(月) 09:38:03.20ID:yFnU/yKn でもでもっ!
ちょっと弄るだけで処理が効率よくなり、コードがリーダブルになり、exe(dll)のサイズも小さくなりますよ?
テスト前ならいいよね?
ちょっと弄るだけで処理が効率よくなり、コードがリーダブルになり、exe(dll)のサイズも小さくなりますよ?
テスト前ならいいよね?
814デフォルトの名無しさん
2018/09/24(月) 09:39:36.03ID:sPlVwsRd815デフォルトの名無しさん
2018/09/24(月) 09:43:14.50ID:UOx+eYoH >>813
だめや、くだらん時間つこてないでテストせえ
だめや、くだらん時間つこてないでテストせえ
816デフォルトの名無しさん
2018/09/24(月) 09:46:42.21ID:ySiXDenR817デフォルトの名無しさん
2018/09/24(月) 09:48:31.14ID:osKypOlL >>811
私は時々やりますけどね
新しいネタ仕入れたときとか試してみたり
普段あまり先を考えずに逐次的な処理を思いつきで描くので
冗長になりがちだし
数年自分で使ってみると不必要な機能や処理が見えてきて
そいつをそぎ落としたりする
私は時々やりますけどね
新しいネタ仕入れたときとか試してみたり
普段あまり先を考えずに逐次的な処理を思いつきで描くので
冗長になりがちだし
数年自分で使ってみると不必要な機能や処理が見えてきて
そいつをそぎ落としたりする
818デフォルトの名無しさん
2018/09/24(月) 09:55:37.87ID:OxVBaH7R 業務系はメンテを他社がやることが多い
なので競争相手の負担になるようにリファクタリングしていない汚いコードを納品したほうが資本主義的に正しい
なので競争相手の負担になるようにリファクタリングしていない汚いコードを納品したほうが資本主義的に正しい
819デフォルトの名無しさん
2018/09/24(月) 09:59:35.91ID:KDQ780rJ マ板でやれ
820デフォルトの名無しさん
2018/09/24(月) 10:01:45.14ID:KHvr4x1U クローンコードは……無能の証……
細かく……機能毎に……クラス化……メソッド化せよ……
有能なマなら……30行程度までの……小さなメソッドが……いくつもできる……
当然……役割で機能クラス化し……マジックナンバーも使わない……
無能は……1クラスにメソッドを詰め込み……メソッドも100行を超えることがある……
クローンコードだらけで……おまけにマジックナンバーがあり……保守性が……非常に悪い……
細かく……機能毎に……クラス化……メソッド化せよ……
有能なマなら……30行程度までの……小さなメソッドが……いくつもできる……
当然……役割で機能クラス化し……マジックナンバーも使わない……
無能は……1クラスにメソッドを詰め込み……メソッドも100行を超えることがある……
クローンコードだらけで……おまけにマジックナンバーがあり……保守性が……非常に悪い……
821デフォルトの名無しさん
2018/09/24(月) 10:01:45.99ID:osKypOlL ここは初心者スレ
822デフォルトの名無しさん
2018/09/24(月) 10:03:47.23ID:ySiXDenR 初心者相手だからこそ善導せねばならない。
リファクタリングとやらにうつつを抜かす暇があるなら目前のコードを正しく読む力を会得するべきである。
リファクタリングとやらにうつつを抜かす暇があるなら目前のコードを正しく読む力を会得するべきである。
823デフォルトの名無しさん
2018/09/24(月) 10:04:15.61ID:KHvr4x1U824デフォルトの名無しさん
2018/09/24(月) 10:09:35.45ID:RUArc1Op そもそも何を目的としてリファクタリングなんてするわけ?
次の開発は来ないかも知れないじゃない?
また、次の開発を目的とするなら仕様がわかってから手を出せばいい
全てにおいてトンチンカン
次の開発は来ないかも知れないじゃない?
また、次の開発を目的とするなら仕様がわかってから手を出せばいい
全てにおいてトンチンカン
825デフォルトの名無しさん
2018/09/24(月) 10:20:00.26ID:rB4zdy0A 伸びてるときはガイジしかいないな
826デフォルトの名無しさん
2018/09/24(月) 10:21:07.52ID:iTzVBLdT >>820
普通この辺りってネットで調べたら一番に出てくるのに、なんで糞コード量産されちゃうんだろう・・・
普通この辺りってネットで調べたら一番に出てくるのに、なんで糞コード量産されちゃうんだろう・・・
827デフォルトの名無しさん
2018/09/24(月) 10:26:35.15ID:SrcYdwzB828デフォルトの名無しさん
2018/09/24(月) 10:46:02.74ID:ySiXDenR >>825
リファクタリングなんての持ちだして初心者を混乱させるガイジが多くて困るよ
リファクタリングなんての持ちだして初心者を混乱させるガイジが多くて困るよ
829デフォルトの名無しさん
2018/09/24(月) 10:49:53.69ID:TmR9qzOH そういや、VSCodeのswitch文の変な整形って何時になったら直るんかねえ?
830デフォルトの名無しさん
2018/09/24(月) 11:10:08.31ID:L/eVK/99 else句を多く使うのは三流PG
一流のPGは極力else句を避けるものだ
else if なんてのは論外だ
returnせよ!
一流のPGは極力else句を避けるものだ
else if なんてのは論外だ
returnせよ!
831デフォルトの名無しさん
2018/09/24(月) 11:21:43.89ID:OxVBaH7R832デフォルトの名無しさん
2018/09/24(月) 11:23:43.58ID:OxVBaH7R833デフォルトの名無しさん
2018/09/24(月) 11:33:19.66ID:VSctwqS/ 「ガイジ」なんて汚い言葉を平気で使える奴って自分で自分がどんな人間か
語るに落ちてることも気づかないんだろうな
語るに落ちてることも気づかないんだろうな
834デフォルトの名無しさん
2018/09/24(月) 11:41:30.08ID:VSctwqS/ >>832
こういう思考回路の人がマ板とかでブラック企業とか人買いとか吠えてるんだろうな。
こういう思考回路の人がマ板とかでブラック企業とか人買いとか吠えてるんだろうな。
835デフォルトの名無しさん
2018/09/24(月) 11:42:43.02ID:A8fPcUdc キミたちc#で何作ってるの?
俺はFormアプリしか作ってない
Webアプリはrubyかphpで構築
Formアプリなんかクッソ時代遅れ感あるけど
俺はFormアプリしか作ってない
Webアプリはrubyかphpで構築
Formアプリなんかクッソ時代遅れ感あるけど
836デフォルトの名無しさん
2018/09/24(月) 11:49:48.03ID:zTc6LZBq ガイジを連呼する差別主義者は自分が社会の最底辺だと気がついてないんだろうな
リアルな社会でもガイジ連呼して白い目でみられればいい
リアルな社会でもガイジ連呼して白い目でみられればいい
837デフォルトの名無しさん
2018/09/24(月) 11:53:59.68ID:sWz4zxrJ >>811
完成までの間にいつもやってる。
とりあえず適当に動くモノを作ってみる → 自分の担当部分を見直して整理する
最初に動くモノが出来るまでが貰った期間の 1/4 〜 1/3 くらいの時点、あとは時間が許す限り(組み直して遊んでる)。
やってるうちに最初から(自分なりに)組み直しする必要のないコードが書けるようになってく。
でもそのときは自分の技量が上がってるから別のやり方を試したくなるので堂々巡り。
受け入れる側とすればコードのわかりやすさとか以前に試験しろよと思う。
なんでこっちがバグ出ししてやらなきゃならねーんだよ、と。
完成までの間にいつもやってる。
とりあえず適当に動くモノを作ってみる → 自分の担当部分を見直して整理する
最初に動くモノが出来るまでが貰った期間の 1/4 〜 1/3 くらいの時点、あとは時間が許す限り(組み直して遊んでる)。
やってるうちに最初から(自分なりに)組み直しする必要のないコードが書けるようになってく。
でもそのときは自分の技量が上がってるから別のやり方を試したくなるので堂々巡り。
受け入れる側とすればコードのわかりやすさとか以前に試験しろよと思う。
なんでこっちがバグ出ししてやらなきゃならねーんだよ、と。
838デフォルトの名無しさん
2018/09/24(月) 13:46:58.45ID:nocx8ro5839デフォルトの名無しさん
2018/09/24(月) 13:57:10.32ID:OxVBaH7R840デフォルトの名無しさん
2018/09/24(月) 14:01:02.69ID:OJN25ACF いくら暇だからってこの流れはひどい
841デフォルトの名無しさん
2018/09/24(月) 14:14:52.92ID:Gw7mXU1y c#スレだぞ
842デフォルトの名無しさん
2018/09/24(月) 14:21:56.83ID:UjLVuG2t 偶然だぞ
843デフォルトの名無しさん
2018/09/24(月) 14:26:57.52ID:7nAgeebM 複数の戻り値ほしいとき、タプルを使うべきか、refつけてメソッド内で対応しちゃうか皆さんどうしてます?
844デフォルトの名無しさん
2018/09/24(月) 14:28:50.76ID:zTc6LZBq 今はタプルで前はクラス作ってた
845デフォルトの名無しさん
2018/09/24(月) 15:08:38.45ID:oYzwCf5A >>839
メトリクス計測と売上に相関でもあるの?
メトリクス計測と売上に相関でもあるの?
846デフォルトの名無しさん
2018/09/24(月) 15:30:13.77ID:DNs+Nta1847デフォルトの名無しさん
2018/09/24(月) 15:34:39.00ID:DNs+Nta1848デフォルトの名無しさん
2018/09/24(月) 16:27:41.20ID:EJ4GFkIW イミュータブルのほうが良くない?
なんでc#は引数をfinalできないのか不思議なんだけど理由あるの?
なんでc#は引数をfinalできないのか不思議なんだけど理由あるの?
849デフォルトの名無しさん
2018/09/24(月) 16:52:39.91ID:5Y6v7jeg >>848
in
in
850デフォルトの名無しさん
2018/09/24(月) 19:10:00.11ID:p57JLdmZ クリックした点から点まで連続線を引いてダブルクリックで連続線を終える。
これって難しいですか?参考サイトとかありませんか?
これって難しいですか?参考サイトとかありませんか?
851デフォルトの名無しさん
2018/09/24(月) 19:21:40.73ID:sZ9gwywh >>850
ダブルクリックで最後の点+終了なら多分難しくない
MouseDownのイベントのe.Locationでコントロール上の座標を変数に格納する
前回の格納された座標があればそこから2点間の直線を描く
画像、印刷(GDI+)編メニュー https://dobon.net/vb/dotnet/graphics/index.html
線を描く https://dobon.net/vb/dotnet/graphics/drawline.html
ダブルクリックで最後の点+終了なら多分難しくない
MouseDownのイベントのe.Locationでコントロール上の座標を変数に格納する
前回の格納された座標があればそこから2点間の直線を描く
画像、印刷(GDI+)編メニュー https://dobon.net/vb/dotnet/graphics/index.html
線を描く https://dobon.net/vb/dotnet/graphics/drawline.html
852デフォルトの名無しさん
2018/09/24(月) 20:14:41.97ID:zTc6LZBq bool 編集モード =false;
bool 線を引いてるか =false;
Point 前のポイント =new Point();
こういうのを使っていけばいいんじゃないかな
クリックしたら
編集モードで線を引いてない(最初の点)なら点を表示
編集モードで線を引いてるなら前のポイントから今のクリック場所まで線を引く
ちゃんとやるならListに座標を記録
bool 線を引いてるか =false;
Point 前のポイント =new Point();
こういうのを使っていけばいいんじゃないかな
クリックしたら
編集モードで線を引いてない(最初の点)なら点を表示
編集モードで線を引いてるなら前のポイントから今のクリック場所まで線を引く
ちゃんとやるならListに座標を記録
853デフォルトの名無しさん
2018/09/24(月) 20:40:10.70ID:sZ9gwywh >>850
ヒマだったから書いてみた。ダブルクリックで画像初期化
//新しいWinフォームをDrawlinetestとして作ってForm1.csに以下の内容を差し替え
using System.Drawing;
using System.Windows.Forms;
namespace Drawlinetest
{
public partial class Form1 : Form
{
PictureBox pbox = new PictureBox();
Point pt = new Point(-1, -1);
public Form1()
{
InitializeComponent();
pbox.Location = new Point(0, 0); pbox.Size = new Size(500, 500);
this.Controls.Add(pbox); this.ClientSize = pbox.Size;
pbox.Image = new Bitmap(pbox.Width, pbox.Height);
pbox.MouseDown += MD;
}
private void MD(object sender, MouseEventArgs e)
{
Point p = e.Location;
if (e.Clicks > 1) { pbox.Image = new Bitmap(pbox.Width, pbox.Height); return; }//ダブルクリックで画像リセット
int x = pbox.Width - 1, y = pbox.Height - 1;
if (pt.X < 0 || pt.X > x || pt.Y < 0 || pt.Y > y) { pt = p; return; }
Graphics g = Graphics.FromImage(pbox.Image);
g.DrawLine(Pens.Black, pt.X, pt.Y, p.X, p.Y);
pbox.Refresh(); g.Dispose(); pt = p;
}
}
}
ヒマだったから書いてみた。ダブルクリックで画像初期化
//新しいWinフォームをDrawlinetestとして作ってForm1.csに以下の内容を差し替え
using System.Drawing;
using System.Windows.Forms;
namespace Drawlinetest
{
public partial class Form1 : Form
{
PictureBox pbox = new PictureBox();
Point pt = new Point(-1, -1);
public Form1()
{
InitializeComponent();
pbox.Location = new Point(0, 0); pbox.Size = new Size(500, 500);
this.Controls.Add(pbox); this.ClientSize = pbox.Size;
pbox.Image = new Bitmap(pbox.Width, pbox.Height);
pbox.MouseDown += MD;
}
private void MD(object sender, MouseEventArgs e)
{
Point p = e.Location;
if (e.Clicks > 1) { pbox.Image = new Bitmap(pbox.Width, pbox.Height); return; }//ダブルクリックで画像リセット
int x = pbox.Width - 1, y = pbox.Height - 1;
if (pt.X < 0 || pt.X > x || pt.Y < 0 || pt.Y > y) { pt = p; return; }
Graphics g = Graphics.FromImage(pbox.Image);
g.DrawLine(Pens.Black, pt.X, pt.Y, p.X, p.Y);
pbox.Refresh(); g.Dispose(); pt = p;
}
}
}
854デフォルトの名無しさん
2018/09/24(月) 20:43:24.90ID:2M6hZk6X ideoneにはりゃいいのに
855デフォルトの名無しさん
2018/09/24(月) 20:57:07.31ID:E4VB1fuR この程度ならいいんじゃね
いちいちidone開くのもかったるいし
いちいちidone開くのもかったるいし
856デフォルトの名無しさん
2018/09/24(月) 21:01:33.03ID:VSctwqS/ 暇だから書いてみたけど何もおもろないなw
public class PolygonalLineEditor
{
private List<Point> mPoints = new List<Point>();
public Pen Pen { get; set; }
public bool Clolsed { get; private set; }
public Control TargetControl { get; private set; }
public PolygonalLineEditor(Control target)
{
TargetControl = target;
Pen = new Pen(Brushes.Black);
TargetControl.Paint += TargetControl_Paint;
TargetControl.MouseClick += TargetControl_MouseClick;
TargetControl.DoubleClick += TargetControl_DoubleClick;
}
private void TargetControl_MouseClick(object sender, MouseEventArgs e)
{
if (Clolsed) return;
mPoints.Add(e.Location);
TargetControl.Invalidate();
}
private void TargetControl_DoubleClick(object sender, EventArgs e)
{
if (mPoints.Count < 2) return;
Clolsed = true;
}
public class PolygonalLineEditor
{
private List<Point> mPoints = new List<Point>();
public Pen Pen { get; set; }
public bool Clolsed { get; private set; }
public Control TargetControl { get; private set; }
public PolygonalLineEditor(Control target)
{
TargetControl = target;
Pen = new Pen(Brushes.Black);
TargetControl.Paint += TargetControl_Paint;
TargetControl.MouseClick += TargetControl_MouseClick;
TargetControl.DoubleClick += TargetControl_DoubleClick;
}
private void TargetControl_MouseClick(object sender, MouseEventArgs e)
{
if (Clolsed) return;
mPoints.Add(e.Location);
TargetControl.Invalidate();
}
private void TargetControl_DoubleClick(object sender, EventArgs e)
{
if (mPoints.Count < 2) return;
Clolsed = true;
}
857デフォルトの名無しさん
2018/09/24(月) 21:02:30.35ID:VSctwqS/ private void TargetControl_Paint(object sender, PaintEventArgs e)
{
if (mPoints.Count < 2) return;
e.Graphics.DrawLines(Pen, mPoints.ToArray());
}
}
>>854
どうせこの手のコードはイデオンじゃ実行できないしねw
{
if (mPoints.Count < 2) return;
e.Graphics.DrawLines(Pen, mPoints.ToArray());
}
}
>>854
どうせこの手のコードはイデオンじゃ実行できないしねw
858デフォルトの名無しさん
2018/09/24(月) 21:08:01.56ID:VSctwqS/ スレと全然関係ないけど、今ふと思って検索してみたらIDEONEの読みがマジでイデオンだと
勘違いしてる人が結構おって笑ったw
勘違いしてる人が結構おって笑ったw
859デフォルトの名無しさん
2018/09/24(月) 21:23:12.15ID:2M6hZk6X シンタックスハイライトとかの問題でいったんだけどまあいいや
860デフォルトの名無しさん
2018/09/24(月) 21:39:39.67ID:zEHGGd29 >>858
読み方はしらないが笑われて腹立ったので全方位にミサイルぶちまけてやる。
読み方はしらないが笑われて腹立ったので全方位にミサイルぶちまけてやる。
861デフォルトの名無しさん
2018/09/24(月) 21:41:12.17ID:oYzwCf5A ダッサ
ズームもできない
ズームもできない
862デフォルトの名無しさん
2018/09/24(月) 22:00:47.20ID:WUo/Kz5h >>849
使ってるVSが古くてinが使えないの・・・orz
使ってるVSが古くてinが使えないの・・・orz
863デフォルトの名無しさん
2018/09/24(月) 22:48:46.86ID:7nAgeebM >>858
アイディーイーワン?
アイディーイーワン?
864デフォルトの名無しさん
2018/09/24(月) 22:54:59.15ID:oYzwCf5A >>858
最後は全員死ぬんやで
最後は全員死ぬんやで
865デフォルトの名無しさん
2018/09/24(月) 23:06:45.85ID:2M6hZk6X >>858
IDE+ONEだとわかった上で読んでるに決まってるだろ
IDE+ONEだとわかった上で読んでるに決まってるだろ
866デフォルトの名無しさん
2018/09/25(火) 05:23:26.45ID:FXqod28S まあ>>858がどんなところを検索して見て言ってるのかよくわからんけど、そう言う事をいちいち指摘して優越感に浸るちっちぇー奴だと言うことはわかった
867デフォルトの名無しさん
2018/09/25(火) 06:10:41.82ID:O9LsAU4v IDEONEてイデオネじゃないの?
868428
2018/09/25(火) 06:15:54.53ID:FB7NCruc イデワンだな
869デフォルトの名無しさん
2018/09/25(火) 06:17:26.32ID:2mkvFBxM 井出ラッキョ
870デフォルトの名無しさん
2018/09/25(火) 06:47:16.83ID:qhYBdzAc K-1みたいなもんだな
871デフォルトの名無しさん
2018/09/25(火) 12:38:40.86ID:TdPE3gl/ >>858
何そのガンダムの武器みたいな読み方
何そのガンダムの武器みたいな読み方
872デフォルトの名無しさん
2018/09/25(火) 17:17:17.11ID:A3nOLsOi873デフォルトの名無しさん
2018/09/25(火) 19:18:27.96ID:KdSwzQd3 文字数を正確にカウントしたい場合、文字コードも意識しないとだめでしょうか?
今まで気にしてなかったのですが、どうするのがベストなのでしょうか?
今まで気にしてなかったのですが、どうするのがベストなのでしょうか?
874デフォルトの名無しさん
2018/09/25(火) 19:28:47.41ID:vBc9NGOH 正確な文字数の定義によるのと違いますか?
何が正確な文字数なのかオープンにしたままどうするのがベストって言われても誰も答えられないと思う
「彳亍」とか「プ」とかを1とカウントしたいとか?
何が正確な文字数なのかオープンにしたままどうするのがベストって言われても誰も答えられないと思う
「彳亍」とか「プ」とかを1とカウントしたいとか?
875デフォルトの名無しさん
2018/09/25(火) 19:40:25.03ID:3aZELiV7876デフォルトの名無しさん
2018/09/25(火) 20:23:35.47ID:rqJ67nwC877デフォルトの名無しさん
2018/09/25(火) 20:42:56.15ID:TMsX+vFr 他の言語に比べるとc#スレはいつも人いるな。おかしいな。android開発っつたらjava,kotlinだしiosはswiftだし、サーバーサイドでも.netの存在感そこまである訳じゃないし。
これからwpfやuwpでデスクトップアプリ作ってやろうというやつ多いのか?
これからwpfやuwpでデスクトップアプリ作ってやろうというやつ多いのか?
878デフォルトの名無しさん
2018/09/25(火) 20:47:31.66ID:TMsX+vFr それとも5chはおっさんが多いからおっさん世代ようはwindows パソコン世代が多くc#学んだ人多いからスレ賑わってるのか?
問題は新規ユーザーの質問する側が少なくて答える方が大量にいるというw
問題は新規ユーザーの質問する側が少なくて答える方が大量にいるというw
879デフォルトの名無しさん
2018/09/25(火) 20:49:20.07ID:xzq+iCgr スマホアプリでC#はunityいるんだから多いでしょ
880デフォルトの名無しさん
2018/09/25(火) 20:58:14.72ID:TMsX+vFr あっそうか。unityがあったね
881デフォルトの名無しさん
2018/09/25(火) 20:59:01.93ID:LOGsyFiL そのわりにUnityの話題がでないな
882デフォルトの名無しさん
2018/09/25(火) 21:03:56.27ID:AGUJmjmE じゃあなんでこんな栄えてるの?
883デフォルトの名無しさん
2018/09/25(火) 21:04:54.46ID:AGUJmjmE 趣味ならC#?
フォームアプリ簡単に作れるしIDEが最強だし
フォームアプリ簡単に作れるしIDEが最強だし
884デフォルトの名無しさん
2018/09/25(火) 21:05:22.69ID:bUhsTzCn 長い間VB6で開発していた連中がやっとこさ移る先としてはVB.netかc#が多いんじゃないかなと思う。
なので底辺が多い。俺は底辺だ。
なので底辺が多い。俺は底辺だ。
885デフォルトの名無しさん
2018/09/25(火) 21:16:12.43ID:1aVWaT8Y Hello 底辺 World!
886デフォルトの名無しさん
2018/09/25(火) 21:23:42.47ID:LOkxuMnS >>883
IDEのインストールが簡単ってのも大きいと思う
IDEのインストールが簡単ってのも大きいと思う
887デフォルトの名無しさん
2018/09/25(火) 21:27:33.39ID:vBc9NGOH スレ違いだと釘を刺しつつ乗っかるけど、今この板で一番勢いがあるのは何とExcel VBAのスレ。
別に茶化すつもりでもなんでもなく、ちょっと前にそのスレで「驚いた」って素直な感想を書いたら
被害妄想全開で食って掛かってくる奴が大勢いて面食らったw
別に茶化すつもりでもなんでもなく、ちょっと前にそのスレで「驚いた」って素直な感想を書いたら
被害妄想全開で食って掛かってくる奴が大勢いて面食らったw
888デフォルトの名無しさん
2018/09/25(火) 21:47:14.55ID:BRabQ1iT RADによるformアプリケーション作成
これが便利すぎるからC#が使われているんだろ
これが便利すぎるからC#が使われているんだろ
889デフォルトの名無しさん
2018/09/25(火) 22:02:33.05ID:AGUJmjmE RADってなんだよ
おまえそれが言いたかっただけだろ
おまえそれが言いたかっただけだろ
890デフォルトの名無しさん
2018/09/25(火) 22:40:08.58ID:LOGsyFiL そもそもFormアプリケーションって需要あるの?
891デフォルトの名無しさん
2018/09/25(火) 22:48:48.73ID:AGUJmjmE 趣味なら
892デフォルトの名無しさん
2018/09/25(火) 22:50:32.00ID:LOkxuMnS 業務アプリでは結構需要あるぞ
893デフォルトの名無しさん
2018/09/25(火) 22:53:12.33ID:AGUJmjmE オレのバイトしてる工場のタッチパネルの中のソフトのアイコンもフォームアプリのやつだな
894デフォルトの名無しさん
2018/09/25(火) 22:57:33.24ID:7b7yOD+1 >>889
Rapid Application Development
Rapid Application Development
895デフォルトの名無しさん
2018/09/26(水) 00:27:21.31ID:I5Qjn6E/ 変数名やプロパティ名に日本語って使ってる?
896デフォルトの名無しさん
2018/09/26(水) 00:54:12.10ID:/SQHk11B テストメソッドにはたまに使ったりするけど
897デフォルトの名無しさん
2018/09/26(水) 01:52:56.92ID:2U1C1lvF 日本語めちゃ使ってる。
日本特有の物事を扱うにあたって無理に英訳しても幸せがない。
日本特有の物事を扱うにあたって無理に英訳しても幸せがない。
898デフォルトの名無しさん
2018/09/26(水) 02:35:39.36ID:Swk4SbL4 変換キー押すのがめんどい
899デフォルトの名無しさん
2018/09/26(水) 06:02:08.78ID:ltim0pD2 ウォーターフォールって否定されるようになったよな
前は大正義くらいの勢いだったのに
前は大正義くらいの勢いだったのに
900デフォルトの名無しさん
2018/09/26(水) 07:18:55.79ID:zkJaWWrb 米国では内製が基本だから、見積り工数を大きくオーバーしても少々不具合出しても自己責任なので問題ない
そのため厳格なウォーターフォールに拘る必要がなく、決まった枠で確実に作り上げるよりもデリバリーの早さを重視する開発プロセスに移行している
一方ジャップアイランドではいまだに受託開発が中心だからウォーターフォール脱却は不可能よ
「工数枠内でベストを尽くしますが、完成は保証しません」
君が客ならこんなこと抜かすベンダーに仕事任せられるかな?
そのため厳格なウォーターフォールに拘る必要がなく、決まった枠で確実に作り上げるよりもデリバリーの早さを重視する開発プロセスに移行している
一方ジャップアイランドではいまだに受託開発が中心だからウォーターフォール脱却は不可能よ
「工数枠内でベストを尽くしますが、完成は保証しません」
君が客ならこんなこと抜かすベンダーに仕事任せられるかな?
901デフォルトの名無しさん
2018/09/26(水) 08:31:58.81ID:2U1C1lvF ここC#スレ
902デフォルトの名無しさん
2018/09/26(水) 08:32:36.88ID:7p5c/cxx903デフォルトの名無しさん
2018/09/26(水) 09:26:00.52ID:/A0Do83h お前が権力を握れば怒られない
(ただし裏でクソクソ言われるだろうけど)
(ただし裏でクソクソ言われるだろうけど)
904デフォルトの名無しさん
2018/09/26(水) 11:53:42.08ID:CiEUu7ig 全く不具合が発生せず、何かあっても全部自己解決出来るのなら怒られない
905デフォルトの名無しさん
2018/09/26(水) 11:57:37.99ID:5G9UpHy0 プロジェクトチームひとり
超少数精鋭部隊
超少数精鋭部隊
906デフォルトの名無しさん
2018/09/26(水) 13:06:57.76ID:CT4RAtHl 日本語識別子、自分が使って書くのは嫌だけど人が書いたのを読むのは全然問題ないよ。
入力しづらいだけで読みづらいわけじゃないから
ただ英語でちゃんとした命名ができない人は日本語能力にもちょっと不安を感じるねw
入力しづらいだけで読みづらいわけじゃないから
ただ英語でちゃんとした命名ができない人は日本語能力にもちょっと不安を感じるねw
907デフォルトの名無しさん
2018/09/26(水) 19:39:07.27ID:bAgXFgQN MVCがわかりません
どのサイト見ても概念とか考え方しか書いてない
一般的なWEB構成でいう
M=Webアプリ(サーバー)
V=html+CSS(ブラウザ)
C=Javascript(ブラウザ)
役割はこういうイメージであってますか?
どのサイト見ても概念とか考え方しか書いてない
一般的なWEB構成でいう
M=Webアプリ(サーバー)
V=html+CSS(ブラウザ)
C=Javascript(ブラウザ)
役割はこういうイメージであってますか?
908デフォルトの名無しさん
2018/09/26(水) 19:41:02.84ID:+un+mAjX もともとボヤっとしたもんやからなんでもええねんMVCて
909デフォルトの名無しさん
2018/09/26(水) 19:45:11.00ID:bAgXFgQN そうなんですか
C#でフレームワークはMVCを使用するって言ってるとこあるけど
これはASPのMVCを使うよって事なのかな
C#でフレームワークはMVCを使用するって言ってるとこあるけど
これはASPのMVCを使うよって事なのかな
910デフォルトの名無しさん
2018/09/26(水) 19:45:12.82ID:aA/f+lgF Mは処理
Vは見える化
Cは押したボタンからどんなMをするか振り分けること
Vは見える化
Cは押したボタンからどんなMをするか振り分けること
912デフォルトの名無しさん
2018/09/26(水) 19:48:10.38ID:aA/f+lgF cookieもCの一部と考えると誠に難しいです
913デフォルトの名無しさん
2018/09/26(水) 20:52:17.09ID:5G9UpHy0 >>907
仮にそうだったとしてそれに当てはめて何か使いたい式があるのかい?
仮にそうだったとしてそれに当てはめて何か使いたい式があるのかい?
914デフォルトの名無しさん
2018/09/26(水) 21:08:00.87ID:YfVqXzaT 設計モデルのこと聞くのにこのスレで引っ張られてもgdgdにしかならないと思うな
915デフォルトの名無しさん
2018/09/26(水) 23:47:19.83ID:6l6lrWJp >>909
WPFを使うよって可能性もあるのでは?
WPFを使うよって可能性もあるのでは?
916デフォルトの名無しさん
2018/09/27(木) 00:47:29.61ID:3iNJ0doV MVC は、Rails が基本。
これをやっていないと、理解できないだろう
各フレームワークの本は、以下に書いてある
Ruby 初心者スレッド Part 64
https://mevius.5ch.net/test/read.cgi/tech/1535797516/267
これをやっていないと、理解できないだろう
各フレームワークの本は、以下に書いてある
Ruby 初心者スレッド Part 64
https://mevius.5ch.net/test/read.cgi/tech/1535797516/267
917デフォルトの名無しさん
2018/09/27(木) 00:47:48.12ID:4ugdlN24 はいキチガイ
918デフォルトの名無しさん
2018/09/27(木) 02:06:09.29ID:kGqzP/YO そもそもMVCってのがかなり大きな概念だからな
ただ、文脈によっては特定のフレームワーク指してたりすることもあるけど
発祥はSmalltalkだったと思うけど、Railsが基本とかやってないと理解できないとかもうね
最近はRubyも必死に普及活動しないとだめなのかね
ただ、文脈によっては特定のフレームワーク指してたりすることもあるけど
発祥はSmalltalkだったと思うけど、Railsが基本とかやってないと理解できないとかもうね
最近はRubyも必死に普及活動しないとだめなのかね
919デフォルトの名無しさん
2018/09/27(木) 03:25:59.55ID:3iNJ0doV フレームワークを流行らせたのは、Rails
だから、それ以降のフレームワークは、すべて影響を受けている
だから、それ以降のフレームワークは、すべて影響を受けている
920デフォルトの名無しさん
2018/09/27(木) 03:51:46.60ID:eHS6051w921デフォルトの名無しさん
2018/09/27(木) 06:13:53.28ID:Ft8D7cEG Rubyガイジの相手をするな
922デフォルトの名無しさん
2018/09/27(木) 08:37:22.20ID:47BeUI0O >>918
不況活動?
不況活動?
923デフォルトの名無しさん
2018/09/27(木) 12:32:32.34ID:dSQWakVE ASP.NETのWebAPIでセッションって使えますか?
使えないとしたら、RESTfullで認証はどうやるのでしょうか?
使えないとしたら、RESTfullで認証はどうやるのでしょうか?
924デフォルトの名無しさん
2018/09/27(木) 12:39:51.19ID:DMzEptXi >>923
OIDC
OIDC
925デフォルトの名無しさん
2018/09/27(木) 14:21:18.81ID:kGqzP/YO >>923
そもそもセッションと認証は別の概念なんだが
認証はRESTったって単にHTTPなんだから、基本認証でも何でもいいだろ
RESTfulでセッションってなら設計が間違ってる気がするけど、普通にASP.NETのセッション使えたはず
そもそもセッションと認証は別の概念なんだが
認証はRESTったって単にHTTPなんだから、基本認証でも何でもいいだろ
RESTfulでセッションってなら設計が間違ってる気がするけど、普通にASP.NETのセッション使えたはず
926デフォルトの名無しさん
2018/09/27(木) 15:47:13.21ID:Doi0uWJI MVCの話ししていいですか?
927デフォルトの名無しさん
2018/09/27(木) 16:23:04.87ID:ejcWbOIW >>923
ADFS
ADFS
928デフォルトの名無しさん
2018/09/27(木) 17:52:08.36ID:YZshWEeB MVC!
929デフォルトの名無しさん
2018/09/27(木) 20:01:27.01ID:ObHk0Vpa ダメです
930デフォルトの名無しさん
2018/09/27(木) 23:24:05.14ID:52bTlTE/ >>923
RESTのSはStatelessのSだぞ
https://qiita.com/NagaokaKenichi/items/0647c30ef596cedf4bf2
まあアクセストークン発行が多いかな
RESTのSはStatelessのSだぞ
https://qiita.com/NagaokaKenichi/items/0647c30ef596cedf4bf2
まあアクセストークン発行が多いかな
931デフォルトの名無しさん
2018/09/28(金) 18:46:05.98ID:ET1lv+jR932デフォルトの名無しさん
2018/09/28(金) 18:46:53.05ID:rNXHs4S4 MVCって知ってる?
933デフォルトの名無しさん
2018/09/28(金) 20:10:07.21ID:Gg718xcT MostValuableComputer
934デフォルトの名無しさん
2018/09/28(金) 20:11:31.18ID:MONIOm5G Mega Voice Command
935デフォルトの名無しさん
2018/09/28(金) 21:06:51.38ID:6t0MBxCA >>876
横レスだけどこれ勉強になった。ありがとう
ただそこの例だとConsole.WriteLineで"\uD842\uDF9F"が表示できないのと
「叱る」をそのままコピペして入力してしまうとサロゲートペア扱いにならずどちらも2文字になってしまう
他で見た「ほっけ」の漢字(魚偏に花。ここでは表示されない)を使ってフォームのTextboxで確認できた
横レスだけどこれ勉強になった。ありがとう
ただそこの例だとConsole.WriteLineで"\uD842\uDF9F"が表示できないのと
「叱る」をそのままコピペして入力してしまうとサロゲートペア扱いにならずどちらも2文字になってしまう
他で見た「ほっけ」の漢字(魚偏に花。ここでは表示されない)を使ってフォームのTextboxで確認できた
936デフォルトの名無しさん
2018/09/29(土) 13:52:59.64ID:+Sz7jQ14 >>932
格ゲーでしょ知ってる知ってる
格ゲーでしょ知ってる知ってる
937デフォルトの名無しさん
2018/09/29(土) 17:00:15.70ID:gjm+1/rI 規制か
938デフォルトの名無しさん
2018/09/29(土) 17:02:29.51ID:gjm+1/rI あれ?書けるじゃん
コード書いて質問しようとしたんだが
サーバーが受け付けないとか?設定変わったとか?
コード書いて質問しようとしたんだが
サーバーが受け付けないとか?設定変わったとか?
939デフォルトの名無しさん
2018/09/29(土) 17:56:26.04ID:w5r/wsls940デフォルトの名無しさん
2018/09/29(土) 18:08:04.57ID:S96Pj/Mu コードを書くような真面目な内容ならteratailやstackoverflowでやる
そうじゃないなら5ch
そうじゃないなら5ch
941デフォルトの名無しさん
2018/09/29(土) 18:27:15.47ID:S+xjvJjq 以前は書けたんだけどなあ?
言葉で説明するのが面倒だからコード書きたかったんだけど
書けないならまあいいや
もう少し自力で調べる
言葉で説明するのが面倒だからコード書きたかったんだけど
書けないならまあいいや
もう少し自力で調べる
942デフォルトの名無しさん
2018/09/29(土) 18:34:36.64ID:KFN0J1D4 >>1にも書かれてるideone使えば良いじゃん
943デフォルトの名無しさん
2018/09/29(土) 18:45:21.77ID:SXeyKQEb cdnの規制に引っ掛かってるのでは?
944デフォルトの名無しさん
2018/09/29(土) 19:26:59.78ID:rSQsiXYH 5chに書くなら文字数が多すぎると書き込めないんじゃなかったか
945デフォルトの名無しさん
2018/09/29(土) 23:40:45.60ID:tm+cu+QY 出でよ、イデオン
946デフォルトの名無しさん
2018/10/01(月) 21:21:37.68ID:GAigBMDv C#でshortの配列をushortの配列として扱うにはどうしたらいいのでしょう?
ushortの配列を確保してそこにブロックコピーすればいいのですが、コピーせずに扱いたいです
Cでの例
short data[1000];
data[0] = -3;
ushort out = ((ushort*)data)[0]
ushortの配列を確保してそこにブロックコピーすればいいのですが、コピーせずに扱いたいです
Cでの例
short data[1000];
data[0] = -3;
ushort out = ((ushort*)data)[0]
947デフォルトの名無しさん
2018/10/01(月) 21:29:45.12ID:ySL85z/t >>946
C#でも共用体は作れるので、それでやるのが正攻法だろうね
C#でも共用体は作れるので、それでやるのが正攻法だろうね
948デフォルトの名無しさん
2018/10/01(月) 21:30:26.35ID:lLn/Vvr8949デフォルトの名無しさん
2018/10/01(月) 21:45:52.11ID:GAigBMDv ありがとう
short[] data = new short[1000];
data[0] = -3;
data[1] = -5;
ushort out1;
ushort out2;
unsafe
{
fixed (short* p = data)
{
out1 = *(ushort*)&p[0];
out2 = *(ushort*)&p[1];
}
}
short[] data = new short[1000];
data[0] = -3;
data[1] = -5;
ushort out1;
ushort out2;
unsafe
{
fixed (short* p = data)
{
out1 = *(ushort*)&p[0];
out2 = *(ushort*)&p[1];
}
}
950デフォルトの名無しさん
2018/10/01(月) 22:03:04.13ID:rOV5V8ry >>949
fixedブロックの中は
ushort* p2 = ( ushort * )p;
out1 = p2[ 0 ];
out2 = p2[ 1 ];
の方が完結。
その使い方ならunsafe使わずキャストするだけで良い気がするけど
ushort out1 = (ushort)data[0];
ushort out2 = (ushort)data[1];
fixedブロックの中は
ushort* p2 = ( ushort * )p;
out1 = p2[ 0 ];
out2 = p2[ 1 ];
の方が完結。
その使い方ならunsafe使わずキャストするだけで良い気がするけど
ushort out1 = (ushort)data[0];
ushort out2 = (ushort)data[1];
951デフォルトの名無しさん
2018/10/02(火) 14:52:23.87ID:lpR7dPFU 初心者な質問で申し訳ありませんが
if 〜else if〜で50個くらい分岐作りたいんだけど
これは上に書いたのから順に条件判別するんですかね?
てことは出現確率の高い条件から順に上から書いていけば
全体に早いシステムができるってことですかね?
それはswitch 〜case〜でも同じですか?
if 〜else if〜で50個くらい分岐作りたいんだけど
これは上に書いたのから順に条件判別するんですかね?
てことは出現確率の高い条件から順に上から書いていけば
全体に早いシステムができるってことですかね?
それはswitch 〜case〜でも同じですか?
952デフォルトの名無しさん
2018/10/02(火) 15:07:02.75ID:ibUSG6OV953デフォルトの名無しさん
2018/10/02(火) 15:13:05.30ID:lpR7dPFU そうですか〜読みやすさ重視ですか〜
954デフォルトの名無しさん
2018/10/02(火) 15:25:17.74ID:giBEQZ0B 読みやすさとかそういう問題ではない
断言するが、お前のプログラムのボトルネックはそんなところにはない
そういうくだらないことに時間を無駄に使ってると、バグ潰しをしたり本当のボトルネックを見つけて改善したりする暇がなくなり、
結果的にバグだらけでゲロ遅く使い物にならない糞が出来上がる
断言するが、お前のプログラムのボトルネックはそんなところにはない
そういうくだらないことに時間を無駄に使ってると、バグ潰しをしたり本当のボトルネックを見つけて改善したりする暇がなくなり、
結果的にバグだらけでゲロ遅く使い物にならない糞が出来上がる
955デフォルトの名無しさん
2018/10/02(火) 15:33:51.14ID:77rOVAHm956デフォルトの名無しさん
2018/10/02(火) 15:40:49.43ID:sf+Shg+9957デフォルトの名無しさん
2018/10/02(火) 15:52:19.51ID:xEUi7AEU 50分岐なのか単に一か所に50ifが並ぶのか分からないけど、
どっちにしろまず設計がおかしいことを疑うレベルだねw
それが必要になるケースは絶対にありえないとまでは断定できないけど、
普通に考えれば何か間違ってる
どっちにしろまず設計がおかしいことを疑うレベルだねw
それが必要になるケースは絶対にありえないとまでは断定できないけど、
普通に考えれば何か間違ってる
958デフォルトの名無しさん
2018/10/02(火) 19:15:29.75ID:77rOVAHm 文字の判定やらデコードやら色々あるから別におかしくはないんじゃない
959デフォルトの名無しさん
2018/10/02(火) 20:19:02.96ID:vJb5Fq5Q >>951
switchでcaseがすべて数値か文字列の定数ならif〜else if相当ではなくてジャンプテーブルに変換されて最適化される
switchでcaseがすべて数値か文字列の定数ならif〜else if相当ではなくてジャンプテーブルに変換されて最適化される
960デフォルトの名無しさん
2018/10/02(火) 20:30:20.49ID:bw+oM93m961デフォルトの名無しさん
2018/10/02(火) 20:34:18.50ID:LVKvBfXE962デフォルトの名無しさん
2018/10/02(火) 20:35:28.70ID:V4PRuizJ963デフォルトの名無しさん
2018/10/02(火) 20:38:43.68ID:V4PRuizJ リッチ―の作ったCコンパイラもずらっとswitchの下にcaseが並んでる
しかもgotoだらけ
しかもgotoだらけ
964デフォルトの名無しさん
2018/10/02(火) 22:31:24.70ID:71TIb3fi ふと思ったが、ifやswitchよりデリゲートの配列で組んだ場合、可読性は別としてどんなもん?
965デフォルトの名無しさん
2018/10/02(火) 22:33:29.94ID:71TIb3fi ん、951は通信電文の解析処理を組もうとしてるのかな?
966デフォルトの名無しさん
2018/10/02(火) 22:51:46.79ID:PHVx+viB >>964
単純な数値による分岐なら50くらいだとif並べたほうが速いだろうな
単純な数値による分岐なら50くらいだとif並べたほうが速いだろうな
967デフォルトの名無しさん
2018/10/02(火) 23:53:56.61ID:71TIb3fi おお
そっか
そっか
968デフォルトの名無しさん
2018/10/03(水) 03:19:05.44ID:1BUWQtFr いやいや、ビルドした時点で単なる条件分岐文の羅列に変換されるんだから
早いも遅いも無い
早いも遅いも無い
969デフォルトの名無しさん
2018/10/03(水) 06:32:57.32ID:GxEu0OX8 ILではifの羅列に変換されてるね
970デフォルトの名無しさん
2018/10/03(水) 10:25:12.89ID:53fMVr1s 今試してみたけど条件の羅列にはならなかったよ
ただ実験は同じ関数を大量に登録するだけだけど、実際に使うにはデリゲート配列に関数を登録する所がめちゃくちゃになりそうだ
ただ実験は同じ関数を大量に登録するだけだけど、実際に使うにはデリゲート配列に関数を登録する所がめちゃくちゃになりそうだ
971デフォルトの名無しさん
2018/10/03(水) 19:45:09.01ID:vaeuJqrS ライブラリ制作でもなきゃ
ILコードの速度より可読性優先でしょ
最近は性能がトレンドだけだも
ILコードの速度より可読性優先でしょ
最近は性能がトレンドだけだも
972デフォルトの名無しさん
2018/10/03(水) 19:49:00.54ID:WJ9CzqGu だきゃだも
973デフォルトの名無しさん
2018/10/04(木) 10:27:45.19ID:AqgyV2h4 ドラえもん
974デフォルトの名無しさん
2018/10/04(木) 11:35:52.27ID:z7XJZMIb VisualStudio2017とC#でDLLとEXEのプロジェクトを含んだソリューションを構成しているのですが、
EXEのプロジェクトはブレイクポイントで止まるのにDLL側のプロジェクトはブレイクポイントを設定しても止まりません。
どうすれば止まるように設定することができるのでしょうか?
EXEのプロジェクトはブレイクポイントで止まるのにDLL側のプロジェクトはブレイクポイントを設定しても止まりません。
どうすれば止まるように設定することができるのでしょうか?
975デフォルトの名無しさん
2018/10/04(木) 11:42:31.93ID:z7XJZMIb976デフォルトの名無しさん
2018/10/04(木) 12:09:23.53ID:HivlLKp0 >>975
質問したならせめてどう設定したのか書いてくれると助かる
質問したならせめてどう設定したのか書いてくれると助かる
977デフォルトの名無しさん
2018/10/04(木) 12:11:58.26ID:LF7COV6m プロジェクトじゃなくてアセンブリを直接参照したんだと思うよ
978デフォルトの名無しさん
2018/10/04(木) 17:53:02.89ID:JnxMNCXd 正規表現で、特定の変数に格納された文字列が行頭に含まれるときにマッチさせたいのですが
変数にメタ文字が含まれているとそのままメタ文字として機能してしまいます。
\Q〜\Eを使おうとすると認識されないエスケープシーケンスと出てしまうのですが
呼び出した変数をエスケープする方法はありませんか?
string tag = "."; //この変数はユーザー入力により可変させたい
Regex r = new Regex("^"+ tag, RegexOptions.Multiline);
MatchCollection mc = r.Matches(text, 0);
変数にメタ文字が含まれているとそのままメタ文字として機能してしまいます。
\Q〜\Eを使おうとすると認識されないエスケープシーケンスと出てしまうのですが
呼び出した変数をエスケープする方法はありませんか?
string tag = "."; //この変数はユーザー入力により可変させたい
Regex r = new Regex("^"+ tag, RegexOptions.Multiline);
MatchCollection mc = r.Matches(text, 0);
979デフォルトの名無しさん
2018/10/04(木) 17:57:50.18ID:+1iioCH6 何を言ってるのjかさっぱりわからないけど
\のエスケープは\\だよ
\のエスケープは\\だよ
980デフォルトの名無しさん
2018/10/04(木) 18:03:01.48ID:JnxMNCXd981デフォルトの名無しさん
2018/10/04(木) 18:06:55.71ID:+1iioCH6 やっぱり意味がわからないよ
string.Replace
string.Replace
982デフォルトの名無しさん
2018/10/04(木) 18:09:55.61ID:+1iioCH6 行頭マッチならstring.StartWith()
983デフォルトの名無しさん
2018/10/04(木) 18:09:57.35ID:58olDMZF Regex.Escape
984デフォルトの名無しさん
2018/10/04(木) 18:14:09.25ID:JnxMNCXd >>983
これでした! ありがとうございます!
Regex r = new Regex("^"+ Regex.Escape(tag), RegexOptions.Multiline);
でいけました
これでした! ありがとうございます!
Regex r = new Regex("^"+ Regex.Escape(tag), RegexOptions.Multiline);
でいけました
985デフォルトの名無しさん
2018/10/04(木) 18:35:26.88ID:A2T5Igf7 ID:+1iioCH6
986デフォルトの名無しさん
2018/10/04(木) 18:42:53.36ID:+1iioCH6 スレ汚し失礼しましたとか書けばいいのか
987デフォルトの名無しさん
2018/10/04(木) 18:44:59.38ID:hCvwn5pe988デフォルトの名無しさん
2018/10/04(木) 18:50:46.18ID:JnxMNCXd あっ980踏んだの気付いてませんでした
立ててきます
立ててきます
989デフォルトの名無しさん
2018/10/04(木) 18:57:34.68ID:JnxMNCXd990デフォルトの名無しさん
2018/10/04(木) 18:58:45.39ID:iLCCeyjR >>986
恥ずかしい奴ってことで晒されてるんだぞ
恥ずかしい奴ってことで晒されてるんだぞ
991デフォルトの名無しさん
2018/10/04(木) 18:59:38.71ID:hCvwn5pe >>989
スレたて乙
スレたて乙
992デフォルトの名無しさん
2018/10/04(木) 19:30:48.59ID:NR8ALYp6 アプリで使用する最大スレッド数ってどう決めるのがいいですか?
993デフォルトの名無しさん
2018/10/04(木) 19:32:22.83ID:hCvwn5pe994デフォルトの名無しさん
2018/10/04(木) 19:32:31.16ID:NR8ALYp6 単純にCPUのスレッド数を最大に設定しておけばいいですか?
それともCPUのスレッド数-1とかの方がいいのでしょうか?
なんか決め方に基準とか規則とかって考え方あったら教えてください
それともCPUのスレッド数-1とかの方がいいのでしょうか?
なんか決め方に基準とか規則とかって考え方あったら教えてください
995デフォルトの名無しさん
2018/10/04(木) 19:33:24.53ID:NR8ALYp6996デフォルトの名無しさん
2018/10/04(木) 19:33:38.12ID:hCvwn5pe997デフォルトの名無しさん
2018/10/04(木) 19:36:48.58ID:NR8ALYp6998デフォルトの名無しさん
2018/10/04(木) 19:49:35.37ID:SzxHzs6N tiffのヘッダ情報を参照する方法ってどのようにすれば良いのでしょうか
画像読み込みは見つかるのだけどヘッダ情報参照方法が見つからず
画像読み込みは見つかるのだけどヘッダ情報参照方法が見つからず
999デフォルトの名無しさん
2018/10/04(木) 20:53:42.03ID:4K2yXx2T >>992
case by case
case by case
1000デフォルトの名無しさん
2018/10/04(木) 21:07:43.98ID:hGGFGhl9 System.Drawing.Bitmapに読み込んでPropertyItemsから取得する 全部取れるわけではない
System.Windows.Media.Imaging.BitmapMetadataを使う 大体取れるはず
ヘッダだけ読んで画像データは読み込みたくない!ってなら標準ライブラリには存在しないな
System.Windows.Media.Imaging.BitmapMetadataを使う 大体取れるはず
ヘッダだけ読んで画像データは読み込みたくない!ってなら標準ライブラリには存在しないな
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 60日 1時間 12分 0秒
新しいスレッドを立ててください。
life time: 60日 1時間 12分 0秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 清涼飲料水から麻薬成分東京都が注意喚起 [おっさん友の会★]
- 生活保護廃止、公務員の給与に最低賃金を適用⇦これをやるだけで国民の9割の不満が解消されるのにやらない理由 [218488394]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 【動画】男女混合レスリングのガチ試合の様子がこちら [738130642]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 【日刊】暇空茜、また敗訴🥸 [359965264]
- 台湾政党が高市首相「存立危機事態」発言に感謝の書簡「我々の心を強く奮い立たせるものでした」 [834922174]
