Skip to content

Tuples comparison question #1822

@greenozon

Description

@greenozon

Just gave a try to some new features like tuple comparison

input code was a singleliner like

return tup1 != tup2 && tup2 == (tup1.a + tup1.b, 0);

output looks very interesting, eg as per ILSpy version 6.0.0.5404-alpha1

private bool CompTuples1((int a, int b) tup1, (int a, int b) tup2)
	{
		(int, int) valueTuple = tup1;
		(int, int) valueTuple2 = tup2;
		int result;
		if (valueTuple.Item1 != valueTuple2.Item1 || valueTuple.Item2 != valueTuple2.Item2)
		{
			valueTuple2 = tup2;
			int num = tup1.a + tup1.b;
			result = ((valueTuple2.Item1 == num && valueTuple2.Item2 == 0) ? 1 : 0);
		}
		else
		{
			result = 0;
		}
		return (byte)result != 0;
	}

Expectation: more user friendly tuple support :)

ILSPY_testa1.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions