En C #, ¿cómo obtengo la lista de nombres de computadoras locales como lo que se obtiene viendo la red en Windows Explorer

Hay muchas preguntas sobre cómo obtener el nombre y las direcciones IP de la máquina local y varias sobre cómo obtener las direcciones IP de otras máquinas en la LAN (no todas respondieron correctamente). Esto es diferente

En el explorador de Windows, si selecciono Red en la barra lateral, obtengo una vista de las máquinas locales en mi LAN listadas por el nombre de la máquina (de todos modos, en un grupo de trabajo de Windows). ¿Cómo obtengo esa misma información programáticamente en C #?

Respuestas a la pregunta(4)

Su respuesta a la pregunta