X



ふらっと C#,C♯,C#(初心者用) Part139
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
垢版 |
2018/08/05(日) 19:55:44.50ID:tZmoj8I+
「どんなにくだらない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/
0852デフォルトの名無しさん
垢版 |
2018/09/24(月) 20:14:41.97ID:zTc6LZBq
bool 編集モード =false;
bool 線を引いてるか =false;
Point 前のポイント =new Point();

こういうのを使っていけばいいんじゃないかな

クリックしたら
編集モードで線を引いてない(最初の点)なら点を表示
編集モードで線を引いてるなら前のポイントから今のクリック場所まで線を引く

ちゃんとやるならListに座標を記録
0853デフォルトの名無しさん
垢版 |
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;
}
}
}
0856デフォルトの名無しさん
垢版 |
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;
  }
0857デフォルトの名無しさん
垢版 |
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
0858デフォルトの名無しさん
垢版 |
2018/09/24(月) 21:08:01.56ID:VSctwqS/
スレと全然関係ないけど、今ふと思って検索してみたらIDEONEの読みがマジでイデオンだと
勘違いしてる人が結構おって笑ったw
0863デフォルトの名無しさん
垢版 |
2018/09/24(月) 22:48:46.86ID:7nAgeebM
>>858
アイディーイーワン?
0866デフォルトの名無しさん
垢版 |
2018/09/25(火) 05:23:26.45ID:FXqod28S
まあ>>858がどんなところを検索して見て言ってるのかよくわからんけど、そう言う事をいちいち指摘して優越感に浸るちっちぇー奴だと言うことはわかった
0868428
垢版 |
2018/09/25(火) 06:15:54.53ID:FB7NCruc
イデワンだな
0870デフォルトの名無しさん
垢版 |
2018/09/25(火) 06:47:16.83ID:qhYBdzAc
K-1みたいなもんだな
0873デフォルトの名無しさん
垢版 |
2018/09/25(火) 19:18:27.96ID:KdSwzQd3
文字数を正確にカウントしたい場合、文字コードも意識しないとだめでしょうか?
今まで気にしてなかったのですが、どうするのがベストなのでしょうか?
0874デフォルトの名無しさん
垢版 |
2018/09/25(火) 19:28:47.41ID:vBc9NGOH
正確な文字数の定義によるのと違いますか?
何が正確な文字数なのかオープンにしたままどうするのがベストって言われても誰も答えられないと思う

「彳亍」とか「プ」とかを1とカウントしたいとか?
0875デフォルトの名無しさん
垢版 |
2018/09/25(火) 19:40:25.03ID:3aZELiV7
>>873
目的次第
文字のレンダリングに使うのでない限り、多くの場合は普通にLengthを使ったほうがうまくいく
0877デフォルトの名無しさん
垢版 |
2018/09/25(火) 20:42:56.15ID:TMsX+vFr
他の言語に比べるとc#スレはいつも人いるな。おかしいな。android開発っつたらjava,kotlinだしiosはswiftだし、サーバーサイドでも.netの存在感そこまである訳じゃないし。
これからwpfやuwpでデスクトップアプリ作ってやろうというやつ多いのか?
0878デフォルトの名無しさん
垢版 |
2018/09/25(火) 20:47:31.66ID:TMsX+vFr
それとも5chはおっさんが多いからおっさん世代ようはwindows パソコン世代が多くc#学んだ人多いからスレ賑わってるのか?

問題は新規ユーザーの質問する側が少なくて答える方が大量にいるというw
0884デフォルトの名無しさん
垢版 |
2018/09/25(火) 21:05:22.69ID:bUhsTzCn
長い間VB6で開発していた連中がやっとこさ移る先としてはVB.netかc#が多いんじゃないかなと思う。
なので底辺が多い。俺は底辺だ。
0887デフォルトの名無しさん
垢版 |
2018/09/25(火) 21:27:33.39ID:vBc9NGOH
スレ違いだと釘を刺しつつ乗っかるけど、今この板で一番勢いがあるのは何とExcel VBAのスレ。
別に茶化すつもりでもなんでもなく、ちょっと前にそのスレで「驚いた」って素直な感想を書いたら
被害妄想全開で食って掛かってくる奴が大勢いて面食らったw
0888デフォルトの名無しさん
垢版 |
2018/09/25(火) 21:47:14.55ID:BRabQ1iT
RADによるformアプリケーション作成
これが便利すぎるからC#が使われているんだろ
0893デフォルトの名無しさん
垢版 |
2018/09/25(火) 22:53:12.33ID:AGUJmjmE
オレのバイトしてる工場のタッチパネルの中のソフトのアイコンもフォームアプリのやつだな
0897デフォルトの名無しさん
垢版 |
2018/09/26(水) 01:52:56.92ID:2U1C1lvF
日本語めちゃ使ってる。
日本特有の物事を扱うにあたって無理に英訳しても幸せがない。
0899デフォルトの名無しさん
垢版 |
2018/09/26(水) 06:02:08.78ID:ltim0pD2
ウォーターフォールって否定されるようになったよな
前は大正義くらいの勢いだったのに
0900デフォルトの名無しさん
垢版 |
2018/09/26(水) 07:18:55.79ID:zkJaWWrb
米国では内製が基本だから、見積り工数を大きくオーバーしても少々不具合出しても自己責任なので問題ない
そのため厳格なウォーターフォールに拘る必要がなく、決まった枠で確実に作り上げるよりもデリバリーの早さを重視する開発プロセスに移行している
一方ジャップアイランドではいまだに受託開発が中心だからウォーターフォール脱却は不可能よ
「工数枠内でベストを尽くしますが、完成は保証しません」
君が客ならこんなこと抜かすベンダーに仕事任せられるかな?
0906デフォルトの名無しさん
垢版 |
2018/09/26(水) 13:06:57.76ID:CT4RAtHl
日本語識別子、自分が使って書くのは嫌だけど人が書いたのを読むのは全然問題ないよ。
入力しづらいだけで読みづらいわけじゃないから

ただ英語でちゃんとした命名ができない人は日本語能力にもちょっと不安を感じるねw
0907デフォルトの名無しさん
垢版 |
2018/09/26(水) 19:39:07.27ID:bAgXFgQN
MVCがわかりません
どのサイト見ても概念とか考え方しか書いてない

一般的なWEB構成でいう
M=Webアプリ(サーバー)
V=html+CSS(ブラウザ)
C=Javascript(ブラウザ)

役割はこういうイメージであってますか?
0908デフォルトの名無しさん
垢版 |
2018/09/26(水) 19:41:02.84ID:+un+mAjX
もともとボヤっとしたもんやからなんでもええねんMVCて
0909デフォルトの名無しさん
垢版 |
2018/09/26(水) 19:45:11.00ID:bAgXFgQN
そうなんですか

C#でフレームワークはMVCを使用するって言ってるとこあるけど
これはASPのMVCを使うよって事なのかな
0911デフォルトの名無しさん
垢版 |
2018/09/26(水) 19:46:17.27ID:bAgXFgQN
>>910
そうなると>>907のイメージであってますよね?
0914デフォルトの名無しさん
垢版 |
2018/09/26(水) 21:08:00.87ID:YfVqXzaT
設計モデルのこと聞くのにこのスレで引っ張られてもgdgdにしかならないと思うな
0915デフォルトの名無しさん
垢版 |
2018/09/26(水) 23:47:19.83ID:6l6lrWJp
>>909
WPFを使うよって可能性もあるのでは?
0918デフォルトの名無しさん
垢版 |
2018/09/27(木) 02:06:09.29ID:kGqzP/YO
そもそもMVCってのがかなり大きな概念だからな
ただ、文脈によっては特定のフレームワーク指してたりすることもあるけど

発祥はSmalltalkだったと思うけど、Railsが基本とかやってないと理解できないとかもうね
最近はRubyも必死に普及活動しないとだめなのかね
0919デフォルトの名無しさん
垢版 |
2018/09/27(木) 03:25:59.55ID:3iNJ0doV
フレームワークを流行らせたのは、Rails

だから、それ以降のフレームワークは、すべて影響を受けている
0923デフォルトの名無しさん
垢版 |
2018/09/27(木) 12:32:32.34ID:dSQWakVE
ASP.NETのWebAPIでセッションって使えますか?
使えないとしたら、RESTfullで認証はどうやるのでしょうか?
0925デフォルトの名無しさん
垢版 |
2018/09/27(木) 14:21:18.81ID:kGqzP/YO
>>923
そもそもセッションと認証は別の概念なんだが

認証はRESTったって単にHTTPなんだから、基本認証でも何でもいいだろ
RESTfulでセッションってなら設計が間違ってる気がするけど、普通にASP.NETのセッション使えたはず
0932デフォルトの名無しさん
垢版 |
2018/09/28(金) 18:46:53.05ID:rNXHs4S4
MVCって知ってる?
0935デフォルトの名無しさん
垢版 |
2018/09/28(金) 21:06:51.38ID:6t0MBxCA
>>876
横レスだけどこれ勉強になった。ありがとう
ただそこの例だとConsole.WriteLineで"\uD842\uDF9F"が表示できないのと
「叱る」をそのままコピペして入力してしまうとサロゲートペア扱いにならずどちらも2文字になってしまう
他で見た「ほっけ」の漢字(魚偏に花。ここでは表示されない)を使ってフォームのTextboxで確認できた
0937デフォルトの名無しさん
垢版 |
2018/09/29(土) 17:00:15.70ID:gjm+1/rI
規制か
0938デフォルトの名無しさん
垢版 |
2018/09/29(土) 17:02:29.51ID:gjm+1/rI
あれ?書けるじゃん
コード書いて質問しようとしたんだが
サーバーが受け付けないとか?設定変わったとか?
0939デフォルトの名無しさん
垢版 |
2018/09/29(土) 17:56:26.04ID:w5r/wsls
>>1「コードを貼る場合は」参照

関係ないかもしれんが、前も何かの記号、確かバックスラッシュ(\)が書けなくなったことがあった
0940デフォルトの名無しさん
垢版 |
2018/09/29(土) 18:08:04.57ID:S96Pj/Mu
コードを書くような真面目な内容ならteratailやstackoverflowでやる
そうじゃないなら5ch
0941デフォルトの名無しさん
垢版 |
2018/09/29(土) 18:27:15.47ID:S+xjvJjq
以前は書けたんだけどなあ?
言葉で説明するのが面倒だからコード書きたかったんだけど
書けないならまあいいや
もう少し自力で調べる
0945デフォルトの名無しさん
垢版 |
2018/09/29(土) 23:40:45.60ID:tm+cu+QY
出でよ、イデオン
0946デフォルトの名無しさん
垢版 |
2018/10/01(月) 21:21:37.68ID:GAigBMDv
C#でshortの配列をushortの配列として扱うにはどうしたらいいのでしょう?
ushortの配列を確保してそこにブロックコピーすればいいのですが、コピーせずに扱いたいです

Cでの例
short data[1000];
data[0] = -3;
ushort out = ((ushort*)data)[0]
0949デフォルトの名無しさん
垢版 |
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];
}
}
0950デフォルトの名無しさん
垢版 |
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];
0951デフォルトの名無しさん
垢版 |
2018/10/02(火) 14:52:23.87ID:lpR7dPFU
初心者な質問で申し訳ありませんが
if 〜else if〜で50個くらい分岐作りたいんだけど
これは上に書いたのから順に条件判別するんですかね?
てことは出現確率の高い条件から順に上から書いていけば
全体に早いシステムができるってことですかね?
それはswitch 〜case〜でも同じですか?
レス数が950を超えています。1000を超えると書き込みができなくなります。

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