Java만 열심히 하다가 C# 만질일이 있어서 만지던중


다차원 배열 초기화를 하다가 멘붕에 빠졌습니다. '-' ;;;;;;;


'-' 이런 모양의 초기화도 존재할수 있따니!!!! ㅋㅋㅋ 옛날 사람




// Two-dimensional array.
int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
// The same array with dimensions specified.
int[,] array2Da = new int[4, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
// A similar array with string elements.
string[,] array2Db = new string[3, 2] { { "one", "two" }, { "three", "four" },
                                        { "five", "six" } };

// Three-dimensional array.
int[, ,] array3D = new int[,,] { { { 1, 2, 3 }, { 4, 5, 6 } }, 
                                 { { 7, 8, 9 }, { 10, 11, 12 } } };
// The same array with dimensions specified.
int[, ,] array3Da = new int[2, 2, 3] { { { 1, 2, 3 }, { 4, 5, 6 } }, 
                                       { { 7, 8, 9 }, { 10, 11, 12 } } };

// Accessing array elements.
System.Console.WriteLine(array2D[0, 0]);
System.Console.WriteLine(array2D[0, 1]);
System.Console.WriteLine(array2D[1, 0]);
System.Console.WriteLine(array2D[1, 1]);
System.Console.WriteLine(array2D[3, 0]);
System.Console.WriteLine(array2Db[1, 0]);
System.Console.WriteLine(array3Da[1, 0, 1]);
System.Console.WriteLine(array3D[1, 1, 2]);

// Getting the total count of elements or the length of a given dimension.
var allLength = array3D.Length;
var total = 1;
for (int i = 0; i < array3D.Rank; i++) {
    total *= array3D.GetLength(i);
}
System.Console.WriteLine("{0} equals {1}", allLength, total);




출처 : http://msdn.microsoft.com/ko-kr/library/2yd9wwz4.aspx



c#,

C# 의 다중폼 구성중에서 


Main 폼외에 상위 폼을 띄웠을경우 

아래의 Main 폼을 선택하여 또 폼을 띄우면 계속 새 폼이 뜹니다. 


상위 폼이 떴을경우에 Main  폼이 선택되지 않게 하기 위해서 



private void Button1_Click(object sender, EventArgs e)

 {

            Form2 showform = new Form2();

            showform.show();

 }


위와 같은 코드를



private void Button1_Click(object sender, EventArgs e)

 {

            Form2 showform = new Form2();

            showform.ShowDialog();

 }


로 바꾸시면 됩니다. 





참 쉽죠?








static public bool JsonDataContainsKey(JsonData data,string key) { bool result = false; if(data == null) return result; if(!data.IsObject) { return result; } IDictionary tdictionary = data as IDictionary; if(tdictionary == null) return result; if(tdictionary.Contains(key)) { result = true; } return result; }




LitJSON의 JsonData 에 해당 key가 존재하는지 체크하는 함수



출처 : https://gist.github.com/sinergy/5626704








String cookie_id = ""; void SendDdata(string data, string addr) { WWWForm form = new WWWForm(); Hashtable hash = new Hashtable(); hash.Add("Cookie", cookie_id); form.AddField("data",data); WWW www = new WWW(서버 IP, form.data, hash); StartCoroutine(WaitForRequest(www)); } private IEnumerator WaitForRequest(WWW www) { yield return www; // check for errors if (www.error == null) { Debug.Log("WWW Ok!: " + www.text); if (www.responseHeaders.ContainsKey("SET-COOKIE")){ cookie_id = www.responseHeaders["SET-COOKIE"]; } } else { Debug.Log("WWW Error: " + www.error); } }




핵심은  Cookie를 Hastable를 만들어 추가해서 보내는겁니다. 


쿠키가 없다면

WWW www = new WWW(서버 IP, form) 해당 형태로 보내겠지만


Hastable을 생성해서 추가할때는 꼭 form이 아닌 바이트배열 형태인 form.data로 바꿔줘야 합니다.


그래서

WWW www = new WWW(서버 IP, form.data, hash); 형태가 되는거지요 ^ㅡ^






+ Recent posts