У меня есть что-то вроде следующего метода.
public Node? GetLastNode(bool createNewIfEmpty = false)
{
// Return last node if any
if (Nodes.Count > 0)
return Nodes[Nodes.Count - 1];
// Return a new appended node, if requested
if (createNewIfEmpty)
{
Nodes.Add(new Node());
return Nodes[0];
}
// Otherwise, return null
return null;
}
При включенных ссылочных типах, допускающих значение NULL, есть ли какой-либо атрибут (или другой способ), чтобы указать, что этот метод никогда не возвращает значение null, пока параметр createNewIfEmpty
равен true
?
Nodes[^1]
для поиска последнего члена массива вместоNodes[Nodes.Count - 1]
- person Amirhossein Azhdari   schedule 20.02.2021Nodes.Any()
вместоNodes.Count > 0
- person Flydog57   schedule 20.02.2021Nodes.Any()
и есть основания полагать, что она более производительна? - person Jonathan Wood   schedule 20.02.2021NotNullIfNotNull
атрибут кажется наиболее близким к вашей цели, но не принимает значениеbool
- person Pavel Anikhouski   schedule 20.02.2021