
C#初心者です。お願いします。
環境Windows11
VisualStudio2019
フォームアプリケーション(.NetFramework)
で作成しています。
1 フォーム起動後テキストボックス1に入力値を入力
2 テキストボックスの内容をバイト配列に格納
3 ボタン2で行列演算
4 テキストボックス2に表示したいと思ってます。
現在試行錯誤中ですがよくわかっていませんのでよろしくお願いします。
入力値0011223344556677
private void button1_Click(object sender, EventArgs e)
{
2文字ずつ取ってきて配列にいれるのがわかりません
}
private void button2_Click(object sender, EventArgs e)
{
//行列計算
使用行列関数(AES-Mix)
private byte[,] MixColumns(byte[,] s)
{
for (var c = 0; c < _Ws; c++)
{
var a = new byte[_Ws];
var b = new byte[_Ws];
for (var i = 0; i < _Ws; i++)
{
a[i] = s[i,c];
b[i] = (byte)(s[i,c] & 0x80) != 0 ? (byte)((s[i,c] << 1) ^ 0x011b) : (byte)(s[i,c] << 1);
}
// a[n] ^ b[n] is a•{03} in GF(2^8)
s[0,c] = (byte) (b[0] ^ a[1] ^ b[1] ^ a[2] ^ a[3]); // 2*a0 + 3*a1 + a2 + a3
s[1,c] = (byte) (a[0] ^ b[1] ^ a[2] ^ b[2] ^ a[3]); // a0 * 2*a1 + 3*a2 + a3
s[2,c] = (byte) (a[0] ^ a[1] ^ b[2] ^ a[3] ^ b[3]); // a0 + a1 + 2*a2 + 3*a3
s[3,c] = (byte) (a[0] ^ b[0] ^ a[1] ^ a[2] ^ b[3]); // 3*a0 + a1 + a2 + 2*a3
}
return s;
}
byte[] data;
data = new byte[8];
string str = "";
for (int i = 0; i < data.Length; i++)
{
str += string.Format("{0:X2}", data[i]);
}
textBox2.Text = str;
}
No.2ベストアンサー
- 回答日時:
TextBoxに想定どおりの文字列が入っていることが前提で…
https://dobon.net/vb/dotnet/string/substring.html
substring()で切り出しできます。
https://dobon.net/vb/dotnet/programing/convert.h …
Parse()で数値化できます。
for (i = 0;i < (TextBox1.TextLength / 2); i++)
{
NumArray[i] = int.Parse(TextBox1.Text.substring((i * 2), 2));
}
みたいな感じになりますかね。
回答ありがとうございます。
var NumArray = new int[256];
var NumArray2 = new int[256];
var NumArray3 = new int[256];
for (int i = 0; i < (textBox1.TextLength / 2); i++)
{
NumArray[i] = int.Parse(textBox1.Text.Substring((i * 2), 2));
}
for (int i = 0; i < (textBox1.TextLength / 2); i++)
{
NumArray2[i] = int.Parse(textBox2.Text.Substring((i * 2), 2));
}
for (int j = 0; j < 16; j++)
{
NumArray3[j] = NumArray[j] + NumArray2[j];
}
textBox3.Text = Convert.ToString(NumArray3);
このような感じでたとえば実施するとテキストボックスにSystemInt32[]と表示されてしまうのは入力値が超えているからでしょうか?
No.4
- 回答日時:
余談になってしまうのですが
正規表現の確認はさくらエディタの検索オプションに正規表現があるのでそれで確認していただけると更に楽になると思います
さくらエディタサイトは確認しました。Regexが認識しないので、何かがうまくいかないので、はじかれるので試行錯誤してやっていきます。
No.1
- 回答日時:
おはようございます
.NETはVBの方を使っていたので応用できるか分かりませんが
Regex.Matchというメソッドを使うと良いかも知れません
多分ここまで書けるなら下記の意味も分かると思います
results = Regex.Matches("0011223344556677","\w{2}")
マッチした内容が配列になる感じです
あ、でも文字数が奇数だと最後の1文字が取れないかも
それは工夫してやってみて下さい
https://atmarkit.itmedia.co.jp/ait/articles/1702 …
回答ありがとうございます。
Regex.Matchというメソッド探してみました。
同じ数値があった場合、そこから必要数値をとるということでしょうか
テキストボックスに入れる数値についてはランダㇺなので(ここでは固定値にしてました。すいません)マッチするのをいれるのとは違ってくるので今回は該当しませんが、このような方法もあるということで勉強になります。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- Excel(エクセル) 【VBA】 Alt+PrintScreenにてアクティブウィンドウのスクショを貼付する方法 4 2022/12/08 20:53
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
このQ&Aを見た人はこんなQ&Aも見ています
-
C#のループでtextboxに値を入れる方法
C言語・C++・C#
-
テキストボックスに入力された値の判定
Visual Basic(VBA)
-
visualstudio C# テキストボックスの数値を取得して計算する方法を教えてください。
Microsoft ASP
-
-
4
C# 別なフォームへ値を渡す (初心者です)
その他(プログラミング・Web制作)
-
5
複数のtextboxの処理を一括で行えませんか?
Visual Basic(VBA)
-
6
”パラメータ値を TextBox から String に変換できません
SQL Server
-
7
C#で動的配列Listの中身をListBoxに表示するには
C言語・C++・C#
-
8
C# 超初心者です。 this.Refresh();という文を使いたいです
C言語・C++・C#
-
9
ユーザーフォームのテキストボックスに配列の値を読み込む方法を教えて下さい
Visual Basic(VBA)
-
10
VC#でテキストボックスに変数の値を表示する方法
その他(プログラミング・Web制作)
-
11
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
12
C#でフォームのオブジェクト名を変数名で指定
C言語・C++・C#
-
13
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
14
別のフォームで記述している関数を実行するには?C#
C言語・C++・C#
-
15
テキストボックスに記述した数値を加算させたい
Visual Basic(VBA)
-
16
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
17
ラジオボタンの初期指定
Visual Basic(VBA)
-
18
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
19
コンボボックスの高さを変更したい。
C言語・C++・C#
-
20
テキストボックスの入力文字を16進数のみに制限する
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javascript 配列の使い方について
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
ソートで
-
Perlの配列をJavaScriptに渡せ...
-
jspからjavascriptの変数引継ぎ
-
splitで複数のキーワードで分割...
-
idを使わずにonclickで自身の要...
-
JavaScript window.openで開く...
-
コンストラクタでvar ?
-
JavaScriptでセンター表示で行...
-
特定文字列を消したい
-
HTML:Tableタグに対し、JavaScr...
-
正規表現で半角数字1桁のみを全...
-
Javascript 特定のフォルダのデ...
-
商品コードを入力で、商品名、...
-
ジェネレーターの作り方
-
数値の表示について
-
文字列で条件分岐
-
functionから別のfunctionを実...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
undefinedを表示させない方法は...
-
二次元配列を使って順位をだす...
-
javascriptで2つのArrayの...
-
複数のフィードの読み込みが日...
-
二次元配列の全要素の全要素を...
-
javascriptを用いて作成された...
-
("Scripting.Dictionary")につ...
-
javascriptで行を抽出したいです。
-
JavaScriptで簡単なクイズを作...
-
1から20までの整数から、重複な...
-
javascriptついてお聞きします。
-
ぷよぷよの消去アルゴリズムが...
-
配列を作って総当たりで距離を...
-
配列の数ではなく、文字列の長...
-
jQueryで文字数カウンタ(複数...
-
jQuery text()で、<br>タグも取...
おすすめ情報