C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: C#インデクサ値を受け取る方法


(過去ログ 15 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■5165 / inTopicNo.1)  C#インデクサ値を受け取る方法
  
□投稿者/ ASP (3回)-(2007/07/05(Thu) 20:03:25)

分類:[C# (Windows)] 

C#です
インデクサのクラスを二つ作成しました。
aspx.csでstrSearchCharを呼び出してからKeyCharのインデクサを見てもNULLが入っているだけでしたクラスを使ってまたがった値は
aspx.csで受け取る事ができないのでしょうか?
あとインデクサを一つのクラスで二つ使用することは出来ないでしょうか??
もう一つお願いします、KeyCharをプロパティとしてaspx.csに値を返すことはできないんでしょうか?できたら書き方を教えてくれたら
助かります。
お願い致します

	class KeyChar
	{
		private int[ ] a;
		public KeyChar(int c)
		{
			a = new int[c];
		}
		public int this[int b]
		{
			get
			{
				return a[b]; 
			}
			set
			{
				a[b]=value; 
			}
		}
	}

	class KeyCharN
	{
		private int[ ] a;
		public KeyCharN(int c)
		{
			a = new int[ c ];
		}
		public int this[int b]
		{
			get
			{
				return a[ b]; 
			}
			set
			{
				a[ b ]=value; 
			}
		}
	}
		public void strSearchChar(string[] Char,string Find)
		{
			int n = 0;
			int m = 0;
			strk1 = new string[Char.Length];
			strk2 = new string[Char.Length];

			for(int i =0; i < Char.Length;i++)
			{
				if(Char[i].StartsWith(Find))
				{
					strk1[n] = Char[i].Replace(Find,"");
					n++;
				}
				else
				{
					strk2[m] =Char[i].ToString();
					m++;
				}
			}
			keychar = new KeyChar(strk1.Length);
			for(int i = 0;i < strk1.Length;i++)
			{
				keychar[i] = strk1[i];
			}
			keycharn = new KeyCharN(strk2.Length);
			for(int i = 0;i < strk2.Length;i++)
			{
				keycharn[i] = strk2[i];
			}

		}

引用返信 編集キー/
■5172 / inTopicNo.2)  Re[1]: C#インデクサ値を受け取る方法
□投稿者/ Kazuki (14回)-(2007/07/06(Fri) 06:56:25)
Kazuki さんの Web サイト
そもそもコンパイル通ってます?
keychar = new KeyChar(strk1.Length);
for(int i = 0;i < strk1.Length;i++)
{
	keychar[i] = strk1[i]; // int型にstring入れてる
}


あと、何をまたがるんですか??
> クラスを使ってまたがった値

全体的に何を言いたいのか読み取れませんでした。
もうちょっと整理して書いてもらえると嬉しいかも。

引用返信 編集キー/
■5201 / inTopicNo.3)  Re[2]: C#インデクサ値を受け取る方法
□投稿者/ ASP (4回)-(2007/07/06(Fri) 14:51:39)
すみません、聞きたいことだけに要点をまとめ書き直させていただきます。
コンパイルエラーは起きずkeycharn[i]をstrSearchCharの中で参照したら値が入っていました。
が、aspx.csでstrSearchCharを読んだ後KeyCharを参照したらNULLでした。
なんか当然と思われそうですがここがよくわからないです。値をaspx.csで参照する方法があるなら教えてください。
あと何でもいいのでインデクサの値keycharとkeycharnを受け取ったらaspx.csに二つともそのまま返したいです、プロパティなどを使って送れるのならおしえてほしいです。配列なども同様に出来るのでしょうか?

などこの程度の知識ですので、できる、できないだけでもいいのでおしえていただけますでしょうか。お願いします
引用返信 編集キー/
■5214 / inTopicNo.4)  Re[3]: C#インデクサ値を受け取る方法
□投稿者/ じゃかるた (40回)-(2007/07/06(Fri) 18:01:50)
2007/07/06(Fri) 18:03:54 編集(投稿者)

#失礼!Windowsアプリでしたね。無視してください。

つまり値渡しがしたいってことかな...
セッションに入れるのはダメ?
一応サンプル

string型
入れるとき
Session["STRVAL"] = strVal;
取り出すとき
string strVal = (string)Session["STRVAL"]

string配列型(string strVal[]の場合)
入れるとき
Session["STRVAL"] = strVal;
取り出すとき
string[] strVal = (string[])Session["STRVAL"]

どうしてもインデクサを使用したい場合はまずサイトでもいいので基本を勉強してください。
※念のためですが、セッションを使いすぎるのはよくないらしいです^^;


引用返信 編集キー/
■5219 / inTopicNo.5)  Re[4]: C#インデクサ値を受け取る方法
□投稿者/ ASP (5回)-(2007/07/06(Fri) 20:35:30)
No5214 (じゃかるた さん) に返信
> 2007/07/06(Fri) 18:03:54 編集(投稿者)
>
> #失礼!Windowsアプリでしたね。無視してください。
>
> つまり値渡しがしたいってことかな...
> セッションに入れるのはダメ?
> 一応サンプル
>
> string型
> 入れるとき
> Session["STRVAL"] = strVal;
> 取り出すとき
> string strVal = (string)Session["STRVAL"]
>
> string配列型(string strVal[]の場合)
> 入れるとき
> Session["STRVAL"] = strVal;
> 取り出すとき
> string[] strVal = (string[])Session["STRVAL"]
>
> どうしてもインデクサを使用したい場合はまずサイトでもいいので基本を勉強してください。
> ※念のためですが、セッションを使いすぎるのはよくないらしいです^^;

ありがとうございます。試した結果インデクサで値を渡すことが出来ました。
あとsessionでの配列の渡し方教えていただきありがとう御座います
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -