Error cs0103 the name input does not exist in the current context

This repository contains .NET Documentation. Contribute to dotnet/docs development by creating an account on GitHub.

Permalink

Cannot retrieve contributors at this time

description title ms.date f1_keywords helpviewer_keywords ms.assetid

Compiler Error CS0103

Compiler Error CS0103

07/20/2015

CS0103

CS0103

fd1f2104-a945-4dba-8137-8ef869826062

Compiler Error CS0103

The name ‘identifier’ does not exist in the current context

An attempt was made to use a name that does not exist in the class, namespace, or scope. Check the spelling of the name and check your using directives and assembly references to make sure that the name that you are trying to use is available.

This error frequently occurs if you declare a variable in a loop or a try or if block and then attempt to access it from an enclosing code block or a separate code block, as shown in the following example:

[!NOTE]
This error may also be presented when missing the greater than symbol in the operator => in an expression lambda. For more information, see expression lambdas.

using System;

class MyClass1
{
    public static void Main()
    {
        try
        {
            // The following declaration is only available inside the try block.
            var conn = new MyClass1();
        }
        catch (Exception e)
        {  
            // The following expression causes error CS0103, because variable
            // conn only exists in the try block.
            if (conn != null)
                Console.WriteLine("{0}", e);
        }
    }
}

The following example resolves the error:

using System;

class MyClass2
{
    public static void Main()
    {
        // To resolve the error in the example, the first step is to
        // move the declaration of conn out of the try block. The following
        // declaration is available throughout the Main method.
        MyClass2 conn = null;
        try
        {
            // Inside the try block, use the conn variable that you declared
            // previously.
            conn = new MyClass2();
        }
        catch (Exception e)
        {
            // The following expression no longer causes an error, because
            // the declaration of conn is in scope.
            if (conn != null)
                Console.WriteLine("{0}", e);
        }
    }
}

Heyy I am learning Unity developpemnt engine , but when I try associate my script to my sprite I got this error : Unity Error CS0103 : the name ‘input’ does not exist in the current context , my code is very simlpe ,

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Playermovement : MonoBehaviour {

    public float speed;
    private Rigidbody2D myRigidbody;
    private Vector2 change;

            void Start() {
        myRigidbody = GetComponent<Rigidbody2D>();
    }
           void Update() {
        change = Vector2.zero;
        change.x = Input.GetAxis("Horizontal");
        change.y = input.GetAxis("Vertical");
        Debug.Log(change);
            }                                                                                            
    }

So did somebody has the answer to my question ? I would accept any help thanks !

I am using ItelliJ IDEA to edit my C# scripts and Unity 2019.3.8f1 personnal

derHugo's user avatar

derHugo

77.4k9 gold badges67 silver badges105 bronze badges

asked Jun 7, 2020 at 16:50

Alexdieuveult's user avatar

1

Cause you use input, instead of Input!

Care with capital letters!

answered Jun 7, 2020 at 16:53

Lotan's user avatar

LotanLotan

3,9521 gold badge10 silver badges28 bronze badges

0

C# Compiler Error

CS0103 – The name ‘identifier’ does not exist in the current context

Reason for the Error

You will usually receive this error when you are trying to use a identifier name in C# that doesnot exist with-in the current scope. One of the simple example of this error is when you declare a variable with-in a try block and try to access it in the catch block.

In the below example, the variable i is declared inside the try block, so its scope is restricted to the try block. When you try accessing it in the catch block is when you will receive the error.

using System;

public class DeveloperPublish
{
    public static void Main()
    {       
        try
        {
            int i = 1;
            int j = 0;
            int result = i / j;
        }
        catch(DivideByZeroException)
        {
            string message = i + " is divivided by zero";
            Console.WriteLine(message);
        }

    }
}

Error CS0103 The name ‘i’ does not exist in the current context ConsoleApp1 C:UsersSenthilsourcereposConsoleApp1ConsoleApp1Program.cs 16 Active

Solution

To fix the error move the declaration of the identifier that is causing the error to a higher scope so that it is available when it is accessed.

For example, to fix the error in the above code snippet, we just need to move the declaration of the identifier outside of the try block.

using System;

public class DeveloperPublish
{
    public static void Main()
    {
        int i = 1;
        try
        {          
            int j = 0;
            int result = i / j;
        }
        catch(DivideByZeroException)
        {
            string message = i + " is divivided by zero";
            Console.WriteLine(message);
        }

    }
}

Не могу понять в чем проблемы

Не могу понять в чем проблемы

попробывал написать скрипт передвижения и в самом начале наткнулся на проблему

Используется csharp

       

void Update () {
                if(input.GetKey(KeyCode.W)) {

                       
                        transform.position += new Vector3(1,0,0);
        }
}

при запуске выдает ошибку

M_R
UNец
 
Сообщения: 5
Зарегистрирован: 26 июл 2012, 08:38

Re: Не могу понять в чем проблемы

Сообщение DobrijZmej 26 июл 2012, 09:12

какую ошибку-то выдаёт ?

Аватара пользователя
DobrijZmej
UNIт
 
Сообщения: 146
Зарегистрирован: 03 июл 2012, 20:38

Re: Не могу понять в чем проблемы

Сообщение M_R 26 июл 2012, 10:10

Assets/eagle_contrl.cs(13,20): error CS0103: The name `input’ does not exist in the current context

M_R
UNец
 
Сообщения: 5
Зарегистрирован: 26 июл 2012, 08:38

Re: Не могу понять в чем проблемы

Сообщение DobrijZmej 26 июл 2012, 10:12

M_R писал(а):Assets/eagle_contrl.cs(13,20): error CS0103: The name `input’ does not exist in the current context

Юнити чувствительна к регистру
напишите «Input» с большой буквы

Аватара пользователя
DobrijZmej
UNIт
 
Сообщения: 146
Зарегистрирован: 03 июл 2012, 20:38

Re: Не могу понять в чем проблема

Сообщение M_R 26 июл 2012, 10:17

Спасибо.
Есть еще один вопрос: когда я пытаюсь поменять значение координаты(в скрипте) на десятичное число, у меня ничего не выходит, в чем дело?

M_R
UNец
 
Сообщения: 5
Зарегистрирован: 26 июл 2012, 08:38

Re: Не могу понять в чем проблемы

Сообщение M_R 29 июл 2012, 09:38

up!

M_R
UNец
 
Сообщения: 5
Зарегистрирован: 26 июл 2012, 08:38

Re: Не могу понять в чем проблемы

Сообщение seaman 29 июл 2012, 10:04

В шарпе у position нельзя менять одну координату. Нужно так:

Используется csharp

transform.position = new Vector3(1, transform.position.y, transform.position.z);

seaman
Адепт
 
Сообщения: 8351
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6



  • Remove From My Forums
  • Question

  • User397255882 posted

    My asp.net page runs fine in VWD Express 2010 but on the server i get this error:

    error CS0103: The name 'DropDownList_Nodes' does not exist in the current context
    If anyone can help me I would appreciate it.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Data.SqlClient;
    
    namespace OrionNodeEvent
    {
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {     
                if (!this.IsPostBack)//only do on 1st page load
                {
                    FillListBox();
                }            
            }//end Page_Load
    
            protected void Submit_Click(object sender, EventArgs e)
            {
                string connectionString = @"data source=****;initial catalog=****;user id=*****;" +
                        "password=****;packet size=4096;persist security info=False;connect timeout=30000; Trusted_Connection=yes";            
                string insertSQL;
                DateTime currentTime = DateTime.UtcNow; 
                insertSQL = @"USE **** INSERT INTO ***** (";
                insertSQL += "Node_Name, Event, Solution, Time) ";
                insertSQL += "VALUES ('";            
                insertSQL += DropDownList_Nodes.SelectedItem.ToString()  + "', '";
                insertSQL += TextBox_Event.Text + "', '";
                insertSQL += TextBox_Solution.Text + "', '";
                insertSQL += currentTime + "')";
    
                SqlConnection sql_connection = new SqlConnection(connectionString);
                SqlCommand sql_command = new SqlCommand(insertSQL, sql_connection);
    
                int added = 0;//counter for rows inserted to DB
                try
                {                
                    sql_connection.Open();
                    added = sql_command.ExecuteNonQuery();
                    Label_Info.Text = added.ToString() + " records inserted.";
                }
                catch(Exception error)
                {
                    Label_Info.Text = error.Message;                
                }
                finally
                {
                    sql_connection.Close();
                    sql_connection.Dispose();
                }
                 
            }//end Submit_Click
            protected void FillListBox()
            {
                string connectionString = @"data source=****;initial catalog=****;user id=****;" +
                        "password=****;packet size=4096;persist security info=False;connect timeout=30000; Trusted_Connection=yes";
                
                DropDownList_Nodes.Items.Clear();
                string selectSQL = @"USE **** SELECT ***, *** FROM *** ORDER BY ***";
    
                SqlConnection sql_connection = new SqlConnection(connectionString);
                SqlCommand sql_command = new SqlCommand(selectSQL, sql_connection);
                SqlDataReader sql_reader;
                  try
                {                
                    sql_connection.Open();
                    sql_reader = sql_command.ExecuteReader();
                    while (sql_reader.Read())
                    {
                        ListItem newitem = new ListItem();
                        newitem.Text = sql_reader["****"].ToString();
                        newitem.Value = sql_reader["****"].ToString();
                        DropDownList_Nodes.Items.Add(newitem);
                    }//end while
                    sql_reader.Close();
                    sql_reader.Dispose();
                }//end try
                catch(Exception error)
                {
                    Label_Info.Text = error.Message;               
                }
                finally
                {
                    sql_connection.Close();
                    sql_connection.Dispose();
                }
            }//end FillListBox
      	public override void VerifyRenderingInServerForm(Control control)
            {
                return;
            }
        }//end public partial class _Default : System.Web.UI.Page
    }//end namespace OrionNodeEvent
    
    // ASP PAGE ***************************************
    
    <%@  Language="C#"  AutoEventWireup="true"
        CodeBehind="OrionNodeEvent.aspx.cs" Inherits="OrionNodeEvent._Default" Src="OrionNodeEvent.aspx.cs" %>    
    
        <html>
        <head>
        <title>Orionz</title>
        </head>
        <body>
    
        <h2>Select a Node to add an event and resolution.</h2>   
        <p><asp:DropDownList ID="DropDownList_Nodes" runat="server"></asp:DropDownList></p>
       <p><strong>Event</strong><asp:TextBox ID="TextBox_Event" runat="server" style="margin-left: 25px" 
                Width="500px" Height="150px" TextMode="MultiLine" MaxLength="8000"></asp:TextBox></p>
       <p><strong>Solution</strong><asp:TextBox ID="TextBox_Solution" runat="server" 
                style="margin-left: 10px" Width="500px" Height="150px" TextMode="MultiLine" MaxLength="8000"></asp:TextBox> </p>         
       <p><asp:Button ID="Button_Submit" runat="server" Text="Submit" OnClick="Submit_Click"/></p>
        <p><asp:Label ID="Label_Info" runat="server" Text="" ></asp:Label> </p>
        </body>
        </html>
    
    

Answers

  • User397255882 posted

    SOLVED:

    Added these control statements to the Default.aspx.cs:

    protected global::System.Web.UI.HtmlControls.HtmlForm form1;
    protected System.Web.UI.WebControls.Label Label_Info; 
    protected System.Web.UI.WebControls.DropDownList DropDownList_Nodes;
    protected System.Web.UI.WebControls.TextBox TextBox_Event;
    protected System.Web.UI.WebControls.TextBox TextBox_Solution;
    protected System.Web.UI.WebControls.Button Button_Submit;

    The server was ignoring the designer file.

    Now it loads!

    • Marked as answer by

      Thursday, October 7, 2021 12:00 AM

0 / 0 / 0

Регистрация: 03.03.2019

Сообщений: 7

1

03.03.2019, 22:27. Показов 13926. Ответов 11


Всем привет, перечитал много тем по поводу данной ошибки, но у меня немного другая ситуация, код компилируется нормально, без ошибок, но при запуске сервера выдает уже ошибки
Например у меня есть класс где функции транспорта, когда при запуске сервера я вызываю загрузку транспорта — выходит ошибка

Код

CS0103: The name 'VehicleF' does not exist in the current context -> Class1.cs:16

Файл запуска сервера

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using GTANetworkAPI;
 
namespace NewProject
{
    public class Main : Script
    {
        [ServerEvent(Event.ResourceStart)]
        public void OnResourceStart()
        {
            NAPI.Util.ConsoleOutput("Сервер успешно запущен");
            NAPI.Server.SetDefaultSpawnLocation(new Vector3(386.4574, -750.8737, 29.29371));
            VehicleF.LoadVehicle();
        }
    }
}

Файл с функциями транспорта

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using GTANetworkAPI;
 
namespace NewProject
{
    public class VehicleF : Script
    {
        public static void LoadVehicle()
        {
            NAPI.Vehicle.CreateVehicle(NAPI.Util.VehicleNameToModel("CarbonRS"), new Vector3(380.8715, -739.8875, 28.88084), 179, new Color(0, 255, 100), new Color(0));
            NAPI.Util.ConsoleOutput("[LOAD] Транспорт успешно запущен");
        }
    }
}

А так же где у меня идет работа с базой данных выходит ошибка

Код

 CS0012: The type 'DbConnection' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
       -> connect.cs:15

Добавлено через 1 час 24 минуты
Большое спасибо вам, но я перехожу по вашим ссылкам, там такие же ответы на другие ссылки, а затем опять ответы со ссылками, где-то на 5 переходе я бросил это занятие, так как видимо ответов здесь не бывает -_-

Добавлено через 9 минут
Тем более меня не интересуют темы где люди не обьявляют переменные, меня интересует почему у меня методы из одного класса не вызываются в другом, классы по разным файлам

Добавлено через 16 минут
Если я прописываю два класса в одном файле то все хорошо, а если по разным то вот такие ошибки, может кто сказать как линкануть файл? Указать его вначале? Подключить? Я думал что если все одним проектом то таких проблем быть не должно, но видимо ошибся

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



  • Remove From My Forums
  • Вопрос

  • Hello,

    I have created a very simple SSIS Package with only one component.

    Script task which has below code in Main method

    public void Main()
            {
                // TODO: Add your code here
                string name = «ABC»;
                name = name + » XYZ»;
                Dts.TaskResult = (int)ScriptResults.Success;
            }

    When I try to debug the script task, and when I hover the mouse on the variable «name» nothing appears in a tiptop.

    When I say Quick watch by selecting this variable , it display above error.

    Error in Quick watch window is

    error CS0103: The name ‘name’ does not exist in the current context   

    How can i see the values of the variables any help is appreciated.

    • Изменено

      3 апреля 2016 г. 14:47

Ответы

  • Hi Desh200,

    I was testing in Visual studio 2015 as well.

    What happens if debugging in a C# project?

    If the error still persists, you can post it in the
    visual studio forum. If the error only happens in a script task in an SSIS project, you can post it in the

    SQL Server data tools forum.

    You would get more appropriate response there.

    By the way, since the SSDT for Visual Studio 2015 is still a preview version, it is not recommended to use it in your development work.


    Eric Zhang
    TechNet Community Support

    • Предложено в качестве ответа
      HoroChan
      19 апреля 2016 г. 9:25
    • Помечено в качестве ответа
      Eric__Zhang
      24 апреля 2016 г. 10:19

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Error creating session парус 10
  • Error creating remote thread code 0 advor
  • Error creating registry key hkey local machine
  • Error creating project xsrf check failed
  • Error creating process не удается найти указанный файл directx

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии