• 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 /
avatar image
0
Question by ragnaros100 · Jul 21, 2012 at 07:59 PM · c#gameobjectarray

Need help with an array. - C#

I have a very simple problem, but its hard to explain, so bare with me if it might be confusing:

I need a function that can find the specific array-number of a gameObject in an array. I need this so I can remove that gameObject from the array. And only that gameObject.

-thanks :)

Comment
Add comment
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

3 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by ScroodgeM · Jul 21, 2012 at 08:25 PM

  • if you just need to remove and needn't an index, simply use

foreach(GameObject go in gos)
{
    gos.Remove(go);
}
  • simply this script looks like

gos.Clear();
  • if you need an index use

gos.IndexOf(go);

important

never change array while you use it in foreach cycle. especially you completely understand what you are doing
Comment
Add comment · Show 1 · Share
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 ragnaros100 · Jul 21, 2012 at 08:43 PM 0
Share

thnx dude :D... You really helped me out :)

It turned out that the solution I had thought up in my head didnt work at all... But this helped me to realize that it was a huge detour :)

avatar image
2

Answer by ScroodgeM · Jul 21, 2012 at 08:02 PM

to get element:

 GameObject go3 = MyGameObjects[3];

to remove element just use List<GameObject> instead of GameObject[] and simply use Remove method on List<>

Comment
Add comment · Show 1 · Share
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 ragnaros100 · Jul 21, 2012 at 08:13 PM 0
Share

yeah. But I need a funtion. Like:

foreach(GameObject go in gos)

{

int goInt;

go.GetArrayNumber... stored in goInt

gos.Remove(arrayNumber(goInt));

}

avatar image
1

Answer by whydoidoit · Jul 21, 2012 at 08:31 PM

Use generic lists - much faster and properly support inserting and deleting elements as well as supporting standard array syntax:

   using System.Collections.Generic;

   ...


   List<GameObject> gos = new List<GameObject>();
   gos.Remove(go);
   var i = gos.IndexOf(go);
Comment
Add comment · Show 1 · Share
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 ragnaros100 · Jul 21, 2012 at 08:43 PM 0
Share

Thanks :) ... But I already know that :) ... thumbs up though :)

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

6 People are following this question.

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

Related Questions

How to put gameObjects to the list? 4 Answers

How to modify specific GameObjects in an array of GameObjects? 1 Answer

Make an array of all visible objects 1 Answer

2D array of GameObjects C# 2 Answers

How do I create / Instatiate an array of GameObjects in C# 2 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