using System;
using System.Collections.Concurrent;
public class Test
{
public Test()
{
}
public Test(string name)
{
Name = name;
}
public override string ToString()
{
return $"{{ Name: {Name} }}";
}
public string Name { get; set; }
public static void Main()
{
var queue = new ConcurrentQueue<Test>();
queue.Enqueue(new Test("1"));
Test test;
queue.TryDequeue(out test);
Console.WriteLine("printing defined value");
Console.WriteLine(test);
queue.TryDequeue(out test);
Console.WriteLine("printing UNdefined value");
var isNull = test == null;
Console.WriteLine("test is null? {0}", isNull);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuQ29uY3VycmVudDsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBUZXN0KCkKCXsKCQkKCX0KCQoJcHVibGljIFRlc3Qoc3RyaW5nIG5hbWUpCgl7CgkJTmFtZSA9IG5hbWU7Cgl9CgkKCXB1YmxpYyBvdmVycmlkZSBzdHJpbmcgVG9TdHJpbmcoKQoJewoJCXJldHVybiAkInt7IE5hbWU6IHtOYW1lfSB9fSI7Cgl9CgkKCXB1YmxpYyBzdHJpbmcgTmFtZSB7IGdldDsgc2V0OyB9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgcXVldWUgPSBuZXcgQ29uY3VycmVudFF1ZXVlPFRlc3Q+KCk7CgkJCgkJcXVldWUuRW5xdWV1ZShuZXcgVGVzdCgiMSIpKTsKCQkKCQlUZXN0IHRlc3Q7CgkJcXVldWUuVHJ5RGVxdWV1ZShvdXQgdGVzdCk7CgkJQ29uc29sZS5Xcml0ZUxpbmUoInByaW50aW5nIGRlZmluZWQgdmFsdWUiKTsKCQlDb25zb2xlLldyaXRlTGluZSh0ZXN0KTsKCQlxdWV1ZS5UcnlEZXF1ZXVlKG91dCB0ZXN0KTsKCQlDb25zb2xlLldyaXRlTGluZSgicHJpbnRpbmcgVU5kZWZpbmVkIHZhbHVlIik7CgkJdmFyIGlzTnVsbCA9IHRlc3QgPT0gbnVsbDsKCQlDb25zb2xlLldyaXRlTGluZSgidGVzdCBpcyBudWxsPyB7MH0iLCBpc051bGwpOwoJCQoJfQp9