As @NotPoliticallyCorrect has already said, the correct way to do this is to use an Identity column. At the very least do not refer to this column as an ID - unless this is just a means of generating data and the UserId column on this table is actually a foreign key to another table.
You
could just increment a number within your C# code - it would have to be a class-level ("global") variable. This is not a good design however - it assumes that this program will only ever be run as this instance by one user and once finished will not be needed again.
You
could do this instead...
CREATE TABLE GenerateIDs
(
NextId int identity(1,1),
requestBy nvarchar(125)
)
If you create a Stored Procedure to update this table
CREATE PROCEDURE [dbo].GetId @who nvarchar(125)
AS
INSERT INTO GenerateIDs VALUES(@who)
SELECT SCOPE_IDENTITY()
Then each time you want to increment that number run the Stored Procedure first to get the Id number to use.