C# 7.0부터 숫자 구분 기호인 _를 사용하는것이 지원됩니다. 모든 종류의 숫자 리터럴에서 숫자 구분 기호를 사용할 수 있습니다.

 

 int v = 1_000__000;
 float vv = 1_000_000.123f;
 var binaryLiteral = 0b_0010_1010;

 

이런식으로 사용 가능.

'프로그래밍 > C#' 카테고리의 다른 글

구조체 문법  (0) 2020.10.06
튜플(복수리턴) 예제  (0) 2020.10.06
C# 현재 호출되는 메소드명/함수명 가져오는법  (0) 2018.11.20
코루틴 트리거 팁  (0) 2018.11.16
Convert DateTime to String And String to DateTime  (0) 2018.10.02

아래의 둘 중 아무꺼나 쓰면 된다

Application.OpenURL("http://192.168.0.1:1234/");
Help.BrowseURL("http://192.168.0.1:5678/");

.razor 에서

<input id="htmlID" type="text" @onkeyup="Print">

 

@code

{

    string result = string.Empty;

    public async void Print()
    {
        result = await JS.InvokeAsync<string>("JsFunctions.printInput", "htmlID");
    }

}

 

.js 에서

window.JsFunctions = {
    printInput: function (id) {
        var e = document.getElementById(id);
        return e.value;
    },

}

//구조체 선언

        public struct Customer
        {
            public bool IsSenior;
            public bool IsVeteran;
            public bool IsMinor;
            public string Level;

 

            //public Customer(bool IsSenior, bool IsVeteran, bool IsMinor, string Level)
            //{
            //    this.IsSenior = IsSenior;
            //    this.IsVeteran = IsVeteran;

            //    this.IsMinor = IsMinor;

            //    this.Level = Level;

            //}

        }

 

//용례1

            //Customer customer = new Customer (false,false,false,"A");

 

//용례2

            Customer customer2 = new Customer{

                IsSenior = false,

                IsVeteran = false,

                IsMinor = false,

                Level = "A"

            };

var e = Sample_1();

 

Console.WriteLine($"Result : {e.Item1},{e.Item2}");

 

var(idx, name) = Sample_1();

 

Console.WriteLine($"Result : {idx},{name}");

 

(int index, string desc) = Sample_1();

 

Console.WriteLine($"Result : {index},{desc}");

 

var ee = Sample_2();

 

Console.WriteLine($"Result : {ee.idx},{ee.name}");

 

//함수 선언

(int, string) Sample_1()
{
    return (1, "Sample_1");
}

(int idx, string name) Sample_2()
{
    return (2, "Sample_2");
}

'프로그래밍 > C#' 카테고리의 다른 글

숫자 구분 기호 _  (0) 2021.03.18
구조체 문법  (0) 2020.10.06
C# 현재 호출되는 메소드명/함수명 가져오는법  (0) 2018.11.20
코루틴 트리거 팁  (0) 2018.11.16
Convert DateTime to String And String to DateTime  (0) 2018.10.02

참고 사이트 : 링크


특수문자(<,>) 관련해서 해결방법을 찾던중 발견한 사이트


Syntaxhighlighter 사용시 발생하는 문제들에 대한 해결방법도 잘 정리해뒀다

출처 : ( 링크1 ) ( 링크2 )

UI에서 이미지 없이 이벤트 받고싶을때 사용하면 좋은 콜라이더

참고 사이트의 소스를 적용해보고 UI Canvas환경(Canvas Scale, RectPosition 등등..)에 맞지 않는 부분을 수정하였음.



using UnityEngine;
using UnityEngine.UI;

[ExecuteInEditMode]
public class RaycastCollider : Graphic
{
    private RectTransform rect;
    

    public override void SetMaterialDirty() { return; }
    public override void SetVerticesDirty() { return; }

    protected override void OnPopulateMesh(VertexHelper vh)
    {
        vh.Clear();
        return;
    }

    private new void Awake()
    {
        base.Awake();
        //rect = GetComponent(typeof(RectTransform)) as RectTransform;
        rect = GetComponent<RectTransform>();
    }

    private void OnDrawGizmosSelected()
    {
        if (rect != null)
        {
            Vector3 scale = canvas.transform.localScale;
            Vector3 pos = rect.transform.position;

            Vector2 size = rect.sizeDelta;
            float xDist = (rect.rect.width * 0.5f) * scale.x;
            float yDist = (rect.rect.height * 0.5f) * scale.y;

            Vector3 leftUp = new Vector3(pos.x - xDist, pos.y + yDist, pos.z/* + zDist*/);
            Vector3 rightUp = new Vector3(pos.x + xDist, pos.y + yDist, pos.z/* + zDist*/);
            Vector3 leftDown = new Vector3(pos.x - xDist, pos.y - yDist, pos.z/* + zDist*/);
            Vector3 rightDown = new Vector3(pos.x + xDist, pos.y - yDist, pos.z/* + zDist*/);

            Gizmos.color = Color.green;
            Gizmos.DrawLine(leftUp, rightUp);
            Gizmos.DrawLine(rightUp, rightDown);
            Gizmos.DrawLine(rightDown, leftDown);
            Gizmos.DrawLine(leftDown, leftUp);
        }
    }
}

추가로 Editor 소스


using UnityEngine;
using UnityEditor;
using UnityEditor.UI;

[CanEditMultipleObjects, CustomEditor(typeof(RaycastCollider), false)]
public class RaycastColliderEditor : GraphicEditor
{
    public override void OnInspectorGUI()
    {
        base.serializedObject.Update();
        EditorGUILayout.PropertyField(base.m_Script, new GUILayoutOption[0]);
        base.RaycastControlsGUI();
        base.serializedObject.ApplyModifiedProperties();
    }
}


C:\Users\계정이름\AppData\Roaming\Unity

현재 호출된 메소드 이름 또는 함수 이름을 알 수 있다.

log 함수를 호출할 때 유용하게 사용할 수 있다.

 

using System.Reflection;

 

string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;


'프로그래밍 > C#' 카테고리의 다른 글

구조체 문법  (0) 2020.10.06
튜플(복수리턴) 예제  (0) 2020.10.06
코루틴 트리거 팁  (0) 2018.11.16
Convert DateTime to String And String to DateTime  (0) 2018.10.02
return default(T);란?  (0) 2018.08.02

yield return new WaitUntil(() => isLoaded);

이런 구문을 사용하여 코루틴 동작을 언제 실행시켜줄지 waiting을 걸어 줄 수 있다.


bool isLoaded = false;


IEnumerator JoinRoom_Trigger()

{


yield return new WaitUntil(() =>isLoaded);

PlayMsg_Simple("로딩됨");

}

+ Recent posts