Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 /
avatar image
0
Question by Jabrils · Apr 21, 2015 at 02:28 PM · c#arraystringbooleanint

bool[string] = true; array possible?

My question is simple, is it possible to put a string variable in the array brackets versus the int requirement?

I am still fairly new to C# but everything that I've tried so far has failed. My goal is to be able to check if a character is unlocked, so:

 if (unlocked[name] = true)
 {
 //execute unlocked code at select screen
 }

I am dreading having to assign an int number to every character & making 20 different scripts. Thanks all for your help.

P.S. alternatively, if there is a way that I could check if any string in the array = name then I could make that work too. So something like:

 if (unlocked[1-20] = name)
 {
 //execute unlocked code
 }
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

2 Replies

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

Answer by NoseKills · Apr 21, 2015 at 02:56 PM

EDIT: I was on mobile so i wrote as little as possible.

With arrays you are stuck with integer indexing, but there are other types of lists & Dictionaries that make it possible to index stuff with other datatypes, like stings or even GameObjects etc.

Here's an example using a Dictionary.

 using System.Collections.Generic;
 
 ...
 
 Dictionary<string, bool> unlocked = new Dictionary<string, bool>();
 unlocked.Add("something", false);
 
 ...
 //this will throw an error if u didn't add anything with key "something"
 bool isUnlocked = unlocked["something"];
 
 //this is safer. Enters the if only if key "something" exists.
 // and changes the value of isUnlocked to the found value
 bool isUnlocked = false;
 if (unlocked.TryGet("something", out isUnlocked))
 { 
    if (isUnlocked)//do something...
 
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 Jabrils · Apr 26, 2015 at 11:04 AM 0
Share

Thank you Nose$$anonymous$$ills :D

avatar image
0

Answer by ty-b97 · Apr 21, 2015 at 03:16 PM

Negative. Array's all have to be accessed via an index.

To the second question however, you could loop through the entire array to accomplish that.

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

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Converting a string to an int 2 Answers

C# String Array Has Missing or Incorrect Keycode Strings 2 Answers

Saving 30 bools in an array possible? 2 Answers

How do I make ALL other booleans in a bool array false when one is true ? 2 Answers

Can I create a list with an int/float and a string? 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