'Given that' in a matrix

Use mathtools:

\documentclass{article}
\usepackage{mathtools}

\DeclarePairedDelimiterX{\Set}[1]{\lbrace}{\rbrace}{\activatebar #1}

\newcommand{\activatebar}{%
  \begingroup\lccode`~=`| \lowercase{\endgroup\let~}\activebar
  \mathcode`|="8000
}
\newcommand{\activebar}{\nonscript\;\delimsize\vert\nonscript\;\mathopen{}}

\begin{document}

\[
\Set{n|n>0}
\Set[\big]{n|n>0}
\Set*{n|\begin{matrix} n>0 \\ n<42 \end{matrix}}
\]

\end{document}

enter image description here

Important note: don't use | for other purposes in the argument of \Set; it shouldn't be used anyway, preferring \lvert and \rvert for the absolute value. Or, of course, with macros based on mathtools, such as

\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}

Not sure what you have in mind for the dots. Here, I show it with either a matrix or an aligned block.

Thanks to egreg for the \middle reminder.

\documentclass{article} 
\usepackage{amsmath}
\begin{document}
\[
  \left\{ n\,\middle| \begin{matrix}2x & y\\3x & 2y\end{matrix}\right\}
\]
\[
  \left\{ n\,\middle| \begin{aligned} z &= 2x + y\\z &= 3x - 2y\end{aligned}\right\}
\]
\end{document}

enter image description here