Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by neon_pc · Jul 06, 2017 at 05:47 PM · c#unity 5stringconcat

Find with string concatenation

I have troubles doing un a GameObject.Find a string concatenation in a for syntax.

This is my code:

 GameObject gridSlot;
 for(int i = 1; i < combatSize && mEnemySlot == null; i++) {
     string s = "slot_" + i + '_' + col;
 
     gridSlot = GameObject.Find(s);
     
     if(gridSlot != null) {
         if(gridSlot.transform.childCount > 0) {
             mEnemySlot = gridSlot;
             Debug.Log("Enemy slot: " + gridSlot.name);
         }
     }
 }


For example, if I put directly string s = "slot_1_4" then code works fine. What's wrong in my code? How can I put the concatenation to have the code works?

Thanks!

Comment
Add comment · Show 7
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Vicarian · Jul 06, 2017 at 10:55 PM 0
Share

From the snippet you posted, the variable col goes unassigned, so it's difficult to tell if that's the reason your find fails or if it's something else. As written, even if col has a value that points to some object in your scene, I'd wager the loop only gets one pass, because it'll ter$$anonymous$$ate as soon as mEnemySlot is assigned a value. Assu$$anonymous$$g of course gridSlot is found and it has children. Hard to tell without seeing the Hierarchy.

avatar image neon_pc · Jul 06, 2017 at 11:08 PM 0
Share

@Vicarian it's assiged to an int. I try with a string but return the same, not works fine

avatar image Vicarian neon_pc · Jul 06, 2017 at 11:12 PM 0
Share

The next issue is mEnemySlot having a value. If it does, then the loop never is entered, or it enters once, assigns a value to mEnemySlot and then ter$$anonymous$$ates on the next pass. It's the second conditional of your for loop : i < combatSize && mEnemySlot == null. You can check to see if mEnemySlot obtains a value by checking if it's not null and printing a debug statement.

avatar image neon_pc · Jul 07, 2017 at 05:37 AM 0
Share

Hi @Vicarian, it's a fragment of code. You can assum all variables are correctly initialized and code works fine with all loops. The problem it's on GameObject.Find If I put a single string, it return a correct GsmeObject, otherwise if I try with the code I put, (the string makes with variables i and col) then never return a valid GameObject

avatar image aduijs · Aug 09, 2018 at 03:04 AM 0
Share

@neon_pc did you ever find out how this can work? having the exact same situation. if i hardcode the string it works, but a concatenated doesnt

avatar image Vicarian aduijs · Aug 09, 2018 at 01:55 PM 0
Share

This isn't an answer - converting to comment.

avatar image neon_pc aduijs · Aug 09, 2018 at 09:06 PM 0
Share

Hello @aduijs I don't remember very well because in the end, I had change this code. If I'm not mistaken, I think the problem was the "col" variable wasen't works fine because their definition.

This code should be fine:

         string[] slotPosition = new string[2];
         slotPosition = slotId.Split('_');

         int row = int.Parse(slotPosition[0]);
         int col = int.Parse(slotPosition[1]);

         mTargetSlot = GameObject.Find("slot_"+row+"_"+col);

Where slotid is a "GameObject.name" passed from the function

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

408 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How to get the active/loaded Scene then turn the name of it into a string? [C#] 1 Answer

how to see if two string are the same (I just what to see if Magicsetom[x] is == to boxadd ) 2 Answers

Changing GUI Text to int and applying operands 1 Answer

Display string in the UI text in specific format 1 Answer

Error FormatException: Input string was not in a correct format. 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges