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

언제나처럼 더미클라이언트 프로젝트를 튜닝중에 64비트로 뽑아볼까 라는 생각이들어

Mono -> IL2CPP로 빌드를 바꿨는데 네트워크 통신으로 받는 데이터가 UI에 갱신이 안되는 일이 발생했다.

몇시간 열심히 디버깅 해봤더니 유니티 IL2CPP가 dynamic 문법을 Null때리는게 아닌가.. 하..(널때리고싶어 유니티짱)

무튼 IL2CPP는 dynamic을 알아먹지 못하니 사용하지 말지여다... 꺼이꺼이

참고 사이트 : 링크


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


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

+ Recent posts