5. Let the three-digit number $n=\overline{a b c}$. If the lengths of the sides of a triangle can be formed by $a, b, c$ to form an isosceles (including equilateral) triangle, then the number of such three-digit numbers $n$ is ( ) .
(A) 45
(B) 81
(C) 165
(D) 216
5.C.
$a, b, c$ must be able to form the sides of a triangle, clearly none of them can be 0, i.e., $a, b, c \in\{1,2, \cdots, 9\}$.
(1) If they form an equilateral triangle, let the number of such three-digit numbers be $n_{1}$. Since all three digits in the three-digit number are the same, then $n_{1}=\mathrm{C}_{9}^{1}=9$.
(2) If they form an isosceles (non-equilateral) triangle, let the number of such three-digit numbers be $n_{2}$. Since only 2 different digits are used in the three-digit number, let them be $a, b$. Note that the two equal sides and the base of the triangle can be interchanged, so the number of digit pairs $(a, b)$ is $2 \mathrm{C}_{9}^{2}$. However, when the larger number is the base, assuming $a>b$, it must satisfy $b<a<2b$. In this case, there are 20 combinations of digits that cannot form a triangle, as shown in Table 1.

At the same time, for each digit pair $(a, b)$, the 2 digits can be placed in 3 positions in $\mathrm{C}_{3}^{2}$ ways. Therefore, $n_{2}=\mathrm{C}_{3}^{2}\left(2 \mathrm{C}_{9}^{2}-20\right)=156$.
In summary, $n=n_{1}+n_{2}=165$.